实现此目的的列表理解是什么:
a=[1,2,3,4,5]
b=[[x,False] for x in a]
会给,
[[1,False],[2,False],[3,False],[4,False],[5,False]]
我怎样才能让列表中的某个数字为真?我需要这样的东西:
[[1,False],[2,False],[3,False],[4,True],[5,False]]
我的随机播放并没有解决问题。
实现此目的的列表理解是什么:
a=[1,2,3,4,5]
b=[[x,False] for x in a]
会给,
[[1,False],[2,False],[3,False],[4,False],[5,False]]
我怎样才能让列表中的某个数字为真?我需要这样的东西:
[[1,False],[2,False],[3,False],[4,True],[5,False]]
我的随机播放并没有解决问题。
使用if-else
条件:
>>> a = [1,2,3,4,5]
>>> b = [[x, True if x == 4 else False] for x in a]
>>> b
[[1, False], [2, False], [3, False], [4, True], [5, False]]
要不就:
>>> b = [[x, x == 4] for x in a]
>>> a = [1, 2, 3, 4, 5]
>>> b = [[x, x==4] for x in a]
>>> b
[[1, False], [2, False], [3, False], [4, True], [5, False]]
>>>
这利用了如果 x 等于 4x==4
将返回的事实;True
否则,它将返回False
.
也许这个?
b=[[x, x==4] for x in a]
使用三元运算符根据条件选择不同的值:
conditional_expression ::= or_test ["if" or_test "else" expression]
例子:
>>> [[x,False if x%4 else True] for x in a]
[[1, False], [2, False], [3, False], [4, True], [5, False]]