我有一个清单
a = ['1','2','3']
我的代码:
result=[]
for item in a:
if item == '1': # 1
result.append(item)
else:
result.append('haha')
但它不起作用。我能做什么?我明白了:
result = ['haha', 'haha', 'haha']
我想:
result = ['1', 'haha', 'haha']
答案 0 :(得分:3)
您的代码是正确的,结果符合预期(请参阅此处:http://ideone.com/ZZpPW)。
问题可能是以下之一:
a
不是['1', '2', '3']
,而是例如。 [1, 2, 3]
(1
整数不等于'1'
字符串)。答案 1 :(得分:1)
答案可以是单行列表表达式:
result = [ x if x == "1" else "haha" for x in a ]
答案 2 :(得分:0)
缩进是错误的。它应该是 -
for item in a:
if item == '1':
result.append(item)
else:
result.append('haha')
要使“if”语句成为“for”的一部分,您应该按上述方式缩进。