[英]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.