在我的代码中,我正在尝试遍历枚举对象,并使用列表推导选择性地将枚举中的一些值添加到新列表中。
这有效:
a = [1, 2, 3, 4, 5]
s = [i[1] for i in enumerate(a)]
当然,这基本上只是将一个列表复制到s。
这不起作用(一个列表相同):
s = [i[1] if i[1] != 2 for i in enumerate(a)]
我认为除了2之外,这只会将列表的每个元素复制到s,但我得到语法错误。有谁知道这里发生了什么?
答案 0 :(得分:0)
你错放了if
部分:
s = [i[1] for i in enumerate(a) if i[1] != 2]