从嵌套列表中提取元素的最佳方法

Beg*_*ner 4 python list

我有一个列表,看起来像这样:

[[[12, 15, 0], [13, 15, 25], [14, 15, 25], [16, 16, 66], [18, 15, 55]]]
Run Code Online (Sandbox Code Playgroud)

提取索引位置1处出现的所有元素的最佳方法是什么.我知道我可以使用for循环;

for i in list:
    for j in i:
        print j[2]
Run Code Online (Sandbox Code Playgroud)

但是,有更多的"pythonic"(简短/简单/更少的代码/更高效)方式吗?

iCo*_*dez 6

您可以使用列表理解:

>>> lst = [[[12, 15, 0], [13, 15, 25], [14, 15, 25], [16, 16, 66], [18, 15, 55]]]
>>> [x[1] for x in lst[0]]
[15, 15, 15, 16, 15]
>>>
Run Code Online (Sandbox Code Playgroud)

以上相当于:

lst = [[[12, 15, 0], [13, 15, 25], [14, 15, 25], [16, 16, 66], [18, 15, 55]]]
final_list = []
for sub_list in lst[0]:
    final_list.append(sub_list[1])
Run Code Online (Sandbox Code Playgroud)

除了它更简洁,并避免所有这些调用list.append(这意味着它更有效).