在下面的列表中,我想将“Sun”替换为 0,将“Rain”替换为 1。我该怎么做?precipitation = ["Sun", "Rain", "Rain", "Sun", "Sun", "Sun", "Sun", "Sun", "Sun", "Sun", "Rain", "Rain", "Rain", "Rain"]for i in precipitation: if precipitation[i] == "Sun": precipitation[i] = 0 else: precipitation[i] = 1
4 回答
![?](http://img1.sycdn.imooc.com/545847aa0001063202200220-100-100.jpg)
慕田峪7331174
TA贡献1828条经验 获得超13个赞
您可以使用列表理解来做到这一点:
precipitation = [0 if x == 'Sun' else 1 for x in precipitation]
![?](http://img1.sycdn.imooc.com/5458506b0001de5502200220-100-100.jpg)
拉莫斯之舞
TA贡献1820条经验 获得超10个赞
添加到已经存在的答案中,使用map()
list(map(lambda x: 0 if x=='Sun' else 1,a))
您可以尝试这样做以避免循环和列表理解
![?](http://img1.sycdn.imooc.com/533e4ce900010ae802000200-100-100.jpg)
慕尼黑8549860
TA贡献1818条经验 获得超11个赞
尝试这个...
precipitation = ["Sun", "Rain", "Rain", "Sun", "Sun", "Sun", "Sun", "Sun", "Sun", "Sun", "Rain", "Rain", "Rain", "Rain"]
for i in range(len(precipitation)):
if precipitation[i] == "Sun":
precipitation[i] = 0
else:
precipitation[i] = 1
print(precipitation)
添加回答
举报
0/150
提交
取消