【问题标题】:Make a string a int if it is a specific string? [duplicate]如果字符串是特定字符串,则将其设为 int? [复制]
【发布时间】:2017-09-07 17:09:32
【问题描述】:

我有一个字符串列表,如果它是一个特定的字符串,我想遍历该列表并将列表中的值设为 0。以下是我正在尝试的代码,但它不起作用:

variable1 = ['None', 'One', 'Two', 'Three', 'None']   
variable2 = [0 if v is 'None' else v for v in variable1]

结果应该是:[0, 'One', 'Two', 'Three', 0] 但它不会改变 None 字符串。

【问题讨论】:

  • is 更改为==
  • 如果您同时看到isNone 并尝试重复它,请注意None 与字符串'None' 非常不同...
  • 您希望'None's 成为整数0 而不是单词零或将其余单词也更改为数字的任何原因?好像有点奇怪……

标签: python python-3.x list list-comprehension


【解决方案1】:

避免使用is,因为它要求字符串是同一个对象。使用==,这样两个不同的字符串对象仍然可以比较相等。

variable2 = [0 if v == 'None' else v for v in variable1]

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-10-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-09-04
    相关资源
    最近更新 更多