如何使用循环从嵌套列表中选择元素

时间:2019-04-17 10:52:33

标签: python-3.x

我想从嵌套列表中选择一些元素,并在“ for”循环中使用它们。

我从每个嵌套列表中获取了所需的元素,并创建了一个新列表。然后我使用了“ for”循环。但是,我想知道是否还有更多的选择和更快速的选择。

list = [['name_1', 0, 0, 0], ['name_2', 0, 0, 0], ['name_3', 0, 0, 0]]

我尝试过

new_list = [list[0][0], list[1][0], list[2][0]]
for element in new_list:
    print(element)

是否可以创建“ for”循环而无需为“ name”元素创建单独的列表?

只想更具体一点: 1.我不想全部创建任何新列表。 2.如果代码是:

new_list = [list[0][0], list[1][0], list[2][0]] for element in new_list: #in this line I want 'element to be name_1, name_2 and name_3, so I want to loop over 'name' elements... print(element)

2 个答案:

答案 0 :(得分:1)

使用列表理解

llist = [['name_1', 0, 0, 0], ['name_2', 0, 0, 0], ['name_3', 0, 0, 0]]
newlist = [x[0] for x in llist]

print(newlist) # ['name_1', 'name_2', 'name_3']

您可以迭代new_list并根据需要打印名称,

for name in newlist:
    print(name)

如果您不想为此创建新列表,则可以这样做

llist = [['name_1', 0, 0, 0], ['name_2', 0, 0, 0], ['name_3', 0, 0, 0]]

for name in [x[0] for x in llist]:
    print(name)

答案 1 :(得分:0)

您可以直接从for循环访问嵌套元素:

inputlist = [['name_1', 0, 0, 0], ['name_2', 0, 0, 0], ['name_3', 0, 0, 0]]

for element in inputlist:
    print(element[0])

输出:

name_1
name_2
name_3