Python 如果字符串是一个特定的字符串,是否将其设为int?
我有一个字符串列表,希望在列表上循环,如果列表中的值是特定字符串,则将其设为0。下面是我正在尝试但不起作用的代码:Python 如果字符串是一个特定的字符串,是否将其设为int?,python,python-3.x,list,list-comprehension,Python,Python 3.x,List,List Comprehension,我有一个字符串列表,希望在列表上循环,如果列表中的值是特定字符串,则将其设为0。下面是我正在尝试但不起作用的代码: variable1 = ['None', 'One', 'Two', 'Three', 'None'] variable2 = [0 if v is 'None' else v for v in variable1] 结果应该是:[0',1',2',3',0],但它不会更改None字符串。避免是,因为它要求字符串是相同的对象。使用==使两个不同的字符串对象仍然可以进行相等的
variable1 = ['None', 'One', 'Two', 'Three', 'None']
variable2 = [0 if v is 'None' else v for v in variable1]
结果应该是:[0',1',2',3',0],但它不会更改None字符串。避免
是
,因为它要求字符串是相同的对象。使用==
使两个不同的字符串对象仍然可以进行相等的比较
variable2 = [0 if v == 'None' else v for v in variable1]
避免
是
,因为它要求字符串是同一个对象。使用==
使两个不同的字符串对象仍然可以进行相等的比较
variable2 = [0 if v == 'None' else v for v in variable1]
将
is
更改为=
。如果您同时看到is
和None
,并试图重复它,请注意,None
与string'None'
有很大不同……您希望'None'
s是整数0
而不是单词零,或者将其余单词也改为数字?似乎有点奇怪…将更改为==
。如果您看到是和无
并试图重复它,请注意,None
与string'None'
有很大不同……您希望'None'
s是整数0
而不是单词零,或者将其余单词也改为数字?看起来有点奇怪。。。