鑑於蟒的鍵值字典的名單對即構建元組值
[{'color': 'red', 'value': 'high'}, {'color': 'yellow', 'value': 'low'}]
如何僅從字典值構造元組的列表:
[('red', 'high'), ('yellow', 'low')]
鑑於蟒的鍵值字典的名單對即構建元組值
[{'color': 'red', 'value': 'high'}, {'color': 'yellow', 'value': 'low'}]
如何僅從字典值構造元組的列表:
[('red', 'high'), ('yellow', 'low')]
這麼簡單,因爲它得到:
result = [(d['color'], d['value']) for d in dictionarylist]
你可以你自己做過,不是嗎?
a = [{'color': 'red', 'value': 'high'}, {'color': 'yellow', 'value': 'low'}]
b = [tuple(sub.values()) for sub in a] # [('red', 'high'), ('yellow', 'low')]
字典關鍵順序不能保證(還),甚至在Python 3.6中也沒有。 – L3viathan
@ L3viathan OP沒有指明他們必須按順序。 –
如果順序很重要,那麼:
[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
]
'[元組(d.values()),用於在d數據]'音符順序並不保證 – AChampion