列出Python中for循环中的元素?

时间:2012-05-21 08:24:05

标签: python list

我有一个清单

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']

3 个答案:

答案 0 :(得分:3)

您的代码是正确的,结果符合预期(请参阅此处:http://ideone.com/ZZpPW)。

问题可能是以下之一:

  1. 您的代码与您发布的代码不同。
  2. 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”的一部分,您应该按上述方式缩进。