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

2024-09-28 21:53:57 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一张单子

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

如何获取每个最内部列表的第一个元素(“QB1”、“RB1”和“RB2”来自第一个“secondary”,如果您愿意,请列出),以检查它们是否与另一个secondary列表中的标签相同,但是标签混乱(在这种情况下,这两个secondary列表都包含“QB1”、“RB1”和“RB2”)?你知道吗

编辑:

我想要的是[['QB1','RB1','RB2'],['QB1','RB2','RB1']]。我想用某种方法来确定,就我的目的而言,这些是同一份清单。你知道吗


Tags: 方法目的元素编辑列表情况标签单子
3条回答

你也可以试试这个:

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

您可以这样做:

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

output将如下所示:

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

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

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)

相关问题 更多 >