簡體   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