list comprehension创建列表列表

Jac*_*des 0 python

实现此目的的列表理解是什么:

a=[1,2,3,4,5]
b=[[x,False] for x in a]
Run Code Online (Sandbox Code Playgroud)

会给,

[[1,False],[2,False],[3,False],[4,False],[5,False]]
Run Code Online (Sandbox Code Playgroud)

如何在列表中的某个数字中获得True?我需要这样的东西:

[[1,False],[2,False],[3,False],[4,True],[5,False]]
Run Code Online (Sandbox Code Playgroud)

我的随机播放并没有解决问题.

Roh*_*ain 5

使用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]]
Run Code Online (Sandbox Code Playgroud)

要不就:

>>> b = [[x, x == 4] for x in a]
Run Code Online (Sandbox Code Playgroud)

  • 为什么不只是`[[x,x!= 4] for x in a]? (3认同)