Python 3.x python列表理解为双重,但保持分组形式
我有以下清单Python 3.x python列表理解为双重,但保持分组形式,python-3.x,nested,iteration,list-comprehension,Python 3.x,Nested,Iteration,List Comprehension,我有以下清单 grouping = [[('Amy',1),('Bob',2)],[('Cindy',3)]] 我希望我可以提取名称,但保留分组形式 [['Amy','Bob'],['Cindy']] 我试着用 result = [x[0] for b in grouping for x in b] 但是它会给我['Amy'、'Bob'、'Cindy']取而代之。对于分组中的每个子列表,您希望创建一个由每个组成元组的第0个元素组成的新列表。因此: >>> grouping
grouping = [[('Amy',1),('Bob',2)],[('Cindy',3)]]
我希望我可以提取名称,但保留分组形式
[['Amy','Bob'],['Cindy']]
我试着用
result = [x[0] for b in grouping for x in b]
但是它会给我['Amy'、'Bob'、'Cindy']取而代之。对于分组中的每个子列表,您希望创建一个由每个组成元组的第0个元素组成的新列表。因此:
>>> grouping = [[('Amy',1),('Bob',2)],[('Cindy',3)]]
>>> [x[0] for b in grouping for x in b]
['Amy', 'Bob', 'Cindy']
>>> [[x[0] for x in b] for b in grouping]
[['Amy', 'Bob'], ['Cindy']]
对于
分组中的每个子列表
,您希望创建一个由每个组成元组的第0个元素组成的新列表。因此:
>>> grouping = [[('Amy',1),('Bob',2)],[('Cindy',3)]]
>>> [x[0] for b in grouping for x in b]
['Amy', 'Bob', 'Cindy']
>>> [[x[0] for x in b] for b in grouping]
[['Amy', 'Bob'], ['Cindy']]
非常感谢你!如此强大的方式。我不知道我可以在支架内有另一个支架!非常感谢你!如此强大的方式。我不知道我可以在支架内有另一个支架!