簡體   English   中英

從字典值構造元組

[英]Construct tuple from dictionary values

給定一個python鍵值對字典的列表,即

[{'color': 'red', 'value': 'high'}, {'color': 'yellow', 'value': 'low'}]

如何僅從字典值構造元組列表:

[('red', 'high'), ('yellow', 'low')]

變得如此簡單:

result = [(d['color'], d['value']) for d in dictionarylist]

如果順序很重要,則:

[tuple(d[k] for k in ['color', 'value']) for d in data]

要么:

[(d['color'], d['value']) for d in data]

其他沒有訂單保證或來自OrderedDict (或依賴於Py3.6 dict ):

[tuple(d.values()) for d in data]

對於字典的動態列表

在這種情況下,這就是我要采取的措施,希望對您有所幫助。

tuple_list = []
for li_item in list_dict:
    for k, v in li_item.items():
        tuple_list.append((k,v))

當然,下面有一個這樣的班輪選項:

tupples = [
    [(k,v) for k, v in li_item.items()][0:] for li_item in list_dict
]

要泛化定義了self.__dict__任何類實例,還可以使用:

tuple([self.__dict__[_] for _,__ in self.__dict__.items()])

您本來可以做到的,不是嗎?

a = [{'color': 'red', 'value': 'high'}, {'color': 'yellow', 'value': 'low'}]
b = [tuple(sub.values()) for sub in a]  # [('red', 'high'), ('yellow', 'low')]

暫無
暫無

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

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