我知道这可以通过列表理解来实现,但我似乎无法弄明白。目前我有一个像这样的词典列表:
for (i=0; i < placeNamesArray.length; i++) {
if (placeNamesArray[i] === reference) {
// You now have the index you want, which is the current i.
}
}
我试图把它变成:
[ {'field1': 'a', 'field2': 'b'},
{'field1': 'c', 'field2': 'd'},
{'field1': 'e', 'field2': 'f'} ]
答案 0 :(得分:5)
您可以尝试:
[[x['field2'], x['field1']] for x in l]
其中l
是您的输入列表。您的数据的结果将是:
[['b', 'a'], ['d', 'c'], ['f', 'e']]
这样您可以确保field2
的值位于field1
答案 1 :(得分:3)
只需返回Python 2中的ballotbox
列表,或将字典视图转换为Python 3中的列表:
dict.values()
请注意,这些值不会按任何特定顺序排列,因为不会对字典进行排序。如果您希望它们处于给定的顺序,则必须添加排序步骤。
答案 2 :(得分:0)
我不确定你想要什么样的订单,但是你不能做任何订单:
list_ = [list(_.values()) for _ in dict_list]
答案 3 :(得分:0)
您可以使用list comprehension
Python 3
>>>listdict = [ {'field1': 'a', 'field2': 'b'},
... {'field1': 'c', 'field2': 'd'},
... {'field1': 'e', 'field2': 'f'} ]
>>>[[a for a in dict.values()] for dict in listdict]
[['b', 'a'], ['d', 'c'], ['f', 'e']]
Python 2
>>>[dict.values() for dict in listdict]
[['b', 'a'], ['d', 'c'], ['f', 'e']]