【发布时间】:2021-01-25 18:26:16
【问题描述】:
在以下列表中,我想将“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
【问题讨论】:
-
for i in precipitation为您提供列表中的实际项目,而不是它们各自的索引。最简单的代码修复是for i in range(len(precipitation)):,它将让i获取索引的值。也有更简单的解决方案,但这个最符合您现在的解决方案。 -
[0 if x!="Sun" else 1 for x in precipitation]
-
Shivam,你能展示一下你的新代码吗?正如@TomRon 指出的那样,还有更简单的解决方案。
标签: python python-3.x string list integer