我所拥有的是如下所示的一个列表:
list = [ [{u'name': u'Peter'} , {u'name': u'Kevin'} , {u'name': u'Earl'}] ]
我需要分别获得Peter Kevin Earl并将其用作查询参数。如何编写for
循环?
我认为我的列表中有一个列表,列表中有三个词典。我需要获取每个字典的值。
答案 0 :(得分:7)
这样可以解决问题:
# By list comprehension
names = [ x["name"] for x in temp_list for temp_list in first_list ]
# If you don't know the how the key is named
names = [ x.values()[0] for x in temp_list for temp_list in first_list ]
无论密钥是什么,此解决方案都可以让您从内部地图中获得价值。
答案 1 :(得分:0)
my-spacing-class
我不得不更改原始列表,因为" Earl"被列为数字。 :)
答案 2 :(得分:-1)
acl_
上面的代码应该有效,在这里你有更多的pythonic答案
first_list = [[{u'name': u'Peter'},{u'name': u'Kevin'},{u'name': u'Earl'}]]
names = []
# You loop over the whole list
for element in first_list:
# For each element, you loop over the elements inside it
for object in element:
# Now, object is each one of the dictionaries
names.append(object["name"])
在第一个列表中有多少列表并不重要,因为您正在循环它。如果只有一个列表,循环将迭代一次。