如何迭代此列表?

时间:2015-12-29 08:01:16

标签: python python-2.7

我所拥有的是如下所示的一个列表:

list =  [ [{u'name': u'Peter'} , {u'name': u'Kevin'} , {u'name': u'Earl'}] ]

我需要分别获得Peter Kevin Earl并将其用作查询参数。如何编写for循环?

我认为我的列表中有一个列表,列表中有三个词典。我需要获取每个字典的值。

3 个答案:

答案 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"])

在第一个列表中有多少列表并不重要,因为您正在循环它。如果只有一个列表,循环将迭代一次。