假设,我有一个清单 rx xs 只包含列表中的偶数 .
rx
xs
我该怎么做?
以下代码没有给出正确答案:
rx = [1, 2, 3, 4, 5, 6] xs = [rx[x%2==0] for x in rx] # <========== print(xs)
输出
[1, 2, 1, 2, 1, 2]
另一个问题是:这种类型的符号在Python中是什么?是lambda表达式吗?
这将使具有偶数索引位置的项:
xs = [rx[n] for n in range(1, len(rx), 2)]
这将使这些项目本身更加均衡:
xs = [x for x in rx if x%2==0]
在这两种情况下,这些都被称为列表理解。
[rx[x%2==0] for x in rx]
只是在列表的前两项之间摇摆 rx ,因为 True 和 False 在python中:
True
False
>>> rx[True] 2 >>> rx[False] 1
我想你在找一个 list comprehension
rx = [1, 2, 3, 4, 5, 6] xs = [x for x in rx if x % 2 == 0] # [2, 4, 6]