Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/303.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在Python中使用单行列表理解从一个列表中获取两个列表_Python_List_List Comprehension - Fatal编程技术网

在Python中使用单行列表理解从一个列表中获取两个列表

在Python中使用单行列表理解从一个列表中获取两个列表,python,list,list-comprehension,Python,List,List Comprehension,我有一个包含真值和假值的列表。使用列表理解,在此列表中, 我可以得到两个单独的列表,其中一个只有真值,另一个只有假值 价值如下: aList = [True, False, False, True, False, True, True] trues = [ x for x in aList if x==True ] falses = [ x for x in aList if x==False ] print(trues) # [True, True, True, True] print

我有一个包含真值和假值的列表。使用列表理解,在此列表中, 我可以得到两个单独的列表,其中一个只有真值,另一个只有假值 价值如下:

aList  = [True, False, False, True, False, True, True]
trues  = [ x for x in aList if x==True ]
falses = [ x for x in aList if x==False ]

print(trues)  # [True, True, True, True]
print(falses) # [False, False, False]
在一行中使用列表理解可以从一个列表中得到两个单独的列表吗?比如:

trues, falses = [ [a,b] for x in aList a=True if x else b=False]
在这里,我得到了一个错误:“SyntaxError:invalid syntax”在“True”下面提到插入符号
of a=True

它或多或少与您压缩在一行中的内容相同:

aList  = [True, False, False, True, False, True, True]
trues,falses  = [x for x in aList if x], [x for x in aList if not x]

这样您将得到两个列表。如果用括号括起来,你会得到一个列表。

不,列表理解总是得到一个列表。但是,如果一个列表包含两个其他列表,则可以使用嵌套列表理解。如果要使用一行代码获取多个列表并避免嵌套,则应使用字典理解以列表作为值hanks构建字典,以便及时回复。对我来说,你的回答开启了Python编程的新领域。具体来说,由于我是Python的新程序员,我了解了一个简单的逻辑,即语句->trues,false=[code..],[code..]将从一个列表中创建两个单独的列表。再次感谢。@NizamuddinShaikh——为了澄清右侧表达式实际上使用了两(2)个列表理解,而不是一个。右侧是从这两个列表创建一个元组。左边是将这个元组分解成真与假。很高兴我帮了你!继续享受Python@Nizamuddinshaikh谢谢大家,谢谢你们美丽,帮助社区