繁体   English   中英

使用元组列表中的第一个元素作为字典键

[英]Use first element from list of tuples as dictionary key

如何获取类似以下内容的元组列表:

test = [('A', 1, 8, 4), ('B', 2, 6, 2), ('C', 3, 6, 2)]

并制作一个字典,将每个元组中的第一个元素用作键

output = {'A': (1, 8, 4), 'B':(2, 6, 2), 'C': (3, 6, 2)}

如果原始列表是长度为2的元组列表,则dict(test)可以正常工作,但在这种情况下不起作用。

我可以对[i[0] for i in test]进行[i[0] for i in test]提取[i[0] for i in test]以提取每个元组的第一个元素,但我当时认为可能有一种更有效/ Pythonic且更通用的方法。

谢谢!

您可以使用字典理解:

output = {item[0]: item[1:] for item in test}

使用dict

例如:

test = [('A', 1, 8, 4), ('B', 2, 6, 2), ('C', 3, 6, 2)]
print( dict((i[0], i[1:]) for i in test) )

输出:

{'A': (1, 8, 4), 'C': (3, 6, 2), 'B': (2, 6, 2)}

您可以扩展您提出的答案,然后进行字典理解。 尝试以下方法:

output = {i[0]: i[1:] for i in test}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM