使用 True/False 表达式检查创建 Python 列表?

Create Python List using a True/False expression check?

希望生成一个 Python 列表,该列表使用 if 语句来检查数字是偶数还是奇数。如果偶数取列表值“1”,如果奇数取列表值“0”。

迄今为止的进度:

List1 = [x for x in range(0,99) if x % 2 == 0]

但是,这只会生成一个偶数列表。当我更改表达式以添加 else 检查时,出现语法错误。任何帮助表示赞赏。

List1 = [1 for x in range(0,99) if x % 2 == 0 else 0]

更改 list_comprehension 中的 if else 条件,如下所示。

>>> [1  if x % 2 == 0 else 0 for x in range(0,99)]
[1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1]

这将为偶数打印 1,为奇数打印 0。

您正在使用过滤器,您希望使用 条件表达式:

来更改左侧表达式
[1 if x % 2 == 0 else 0 for x in range(99)]

这可以简化为:

[1 - (x % 2) for x in range(99)]