希望生成一个Python列表,该列表使用if
语句来检查数字是偶数还是奇数。如果甚至将List值作为' 1'如果奇数将列表值取为' 0'。
迄今取得的进展:
List1 = [x表示范围内的x(0,99),如果x%2 == 0]
但是,这只会生成偶数列表。当我更改表达式以添加else检查时,我收到语法错误。任何帮助表示赞赏。
List1 = [1表示范围内的x(0,99),如果x%2 == 0则为0]
答案 0 :(得分:3)
您正在使用过滤器,您希望使用条件表达式来改变左侧表达式:
[1 if x % 2 == 0 else 0 for x in range(99)]
这可以简化为:
[1 - (x % 2) for x in range(99)]
答案 1 :(得分:2)
更改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。