从三重嵌套列表中获取最里面的元素 Python

Get inner-most elements from triple nested list Python

我有清单

players = [[['QB1',7000,20],['RB1',4500,12],['RB2',3800,11]], [['QB1',7000,20],['RB2',3800,11],['RB1',4500,12]]]

如何获取每个最内层列表的第一个元素('QB1'、'RB1' 和 'RB2' 来自第一个 "secondary," 列表)检查它们是否与另一个二级列表中的标签相同但无序(在这种情况下,它们是因为两个二级列表都包含 'QB1'、'RB1' 和 'RB2')?

编辑:

我想要的是[['QB1','RB1','RB2'],['QB1','RB2','RB1']]。为了我的目的,我想通过某种方式来识别这些是相同的列表。

做:

print(list(zip(players))[0])

或者:

print([i[0] for i in players])

你可以这样做:

output = [[i[0] for i in a] for a in players]

output会是这样的:

[['QB1', 'RB1', 'RB2'], ['QB1', 'RB2', 'RB1']]

你也可以试试这个:

from operator import itemgetter
[list(map(itemgetter(0), player)) for player in players]

您可以使用递归搜索来获取每个列表或整个列表的第一个元素

players = [[['QB1',7000,20],['RB1',4500,12],['RB2',3800,11]],[['QB1',7000,20],['RB2',3800,11],['RB1',4500,12]]]
def retrive_first(lst):
    for item in lst:
        if type(item) == list:
            retrive_first(item)
        else:
            print "returning ---> ", lst[0]
            return lst[0]

print retrive_first(players)