簡體   English   中英

Select 具有元組值的字典中的特定元素

[英]Select specific elements from a dictionary with tuple values

我有一本字典,其中的值是元組。 結構是這樣的:

my_dictionary = {'class1': (5, 10, 15, 20), 'class2': (1, 2, 3, 4), 'class3': (10, 20, 30, 40)}

現在我想遍歷字典鍵並從值的元組中獲取特定元素,所以假設我想獲取每個 class 的第一個元組元素。 怎么做?

您可能正在尋找dict.values

>>> [t[0] for t in my_dictionary.values()]
[5, 1, 10]

您還可以從my_dictionary.values()中的每個元組中解壓縮第一項:

>>> [x for x, *_ in my_dictionary.values()]
[5, 1, 10]

或者使用operator.itemgetter到 select 第一項:

>>> from operator import itemgetter
>>> list(map(itemgetter(0), my_dictionary.values()))
[5, 1, 10]

現在我想遍歷字典鍵並從值元組中獲取特定元素

print(*(my_dictionary[i][0] for i in my_dictionary)) #5 1 10

如問:

  • 循環鍵
  • 為每個 class 獲取元組的提到的索引值

代碼配置文件

  • 1000 個鍵/值對需要 88 個字節和 275ns

為什么 memory 效率如此之高?

  • 因為使用了發電機。

代碼配置文件

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM