如何在Python中将列表中的字符串替换为int?

在下面的列表中,我想将“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


qq_笑_17
浏览 81回答 4
4回答

慕田峪7331174

您可以使用列表理解来做到这一点:precipitation = [0 if x == 'Sun' else 1 for x in precipitation]

慕后森

使用布尔值用数字表示为 0 和 1 的事实来详细阐述 @Gabip 的答案:[int(x=='Sun') for x in precipitation]

拉莫斯之舞

添加到已经存在的答案中,使用map()list(map(lambda x: 0 if x=='Sun' else 1,a))您可以尝试这样做以避免循环和列表理解

慕尼黑8549860

尝试这个...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)
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python