我有一个清单
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']
您的代码是正确的,结果符合预期(请参见此处:http: //ideone.com/ZZpPW)。
问题可能是以下之一:
a不是['1', '2', '3'],而是例如。[1, 2, 3](1整数不等于'1'字符串)。答案可以是一个单行列表表达式:
result = [ x if x == "1" else "haha" for x in a ]
缩进是错误的。它应该是 -
for item in a:
if item == '1':
result.append(item)
else:
result.append('haha')
要使 'if' 语句成为 'for' 的一部分,你应该像上面那样缩进它。