鉴于蟒的键值字典的名单对即构建元组值
[{'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