如何使用Python替换列表中的值?

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (128)

我有一个列表,其中我想用None替换值,其中的条件()返回True。

[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10]

例如,如果条件检查bool(item%2)应该返回:

[None, 1, None, 3, None, 5, None, 7, None, 9, None]

最有效的方法是什么?

提问于
用户回答回答于

最有效的:

items = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
for index, item in enumerate(items):
    if not (item % 2):
        items[index] = None

更易读的是:

new_items = [x if x % 2 else None for x in items]
用户回答回答于

扫码关注云+社区

领取腾讯云代金券