我有一个列表,看起来像这样:
[[[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"(简短/简单/更少的代码/更高效)方式吗?
您可以使用列表理解:
>>> 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
(这意味着它更有效).
归档时间: |
|
查看次数: |
13407 次 |
最近记录: |