2024-04-26 00:43:13 发布
网友
我有一个列表,如下所示:
[[[12, 15, 0], [13, 15, 25], [14, 15, 25], [16, 16, 66], [18, 15, 55]]]
提取索引位置1处发生的所有元素的最佳方法是什么。我知道我可以使用for循环
for i in list: for j in i: print j[2]
但是有没有一种更“pythonic”(简短/简单/代码更少/效率更高)的方法来做到这一点
使用列表理解:
[ x[1] for x in my_list[0] ]
如果嵌套列表更为常见,则这一点更为普遍
[ y[1] for x in my_list for y in x ]
您可以使用list comprehension:
>>> 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] >>>
上述内容相当于:
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])
除此之外,它更简洁,也避免了所有那些对list.append的调用(这意味着它更高效)
list.append
使用列表理解:
如果嵌套列表更为常见,则这一点更为普遍
您可以使用list comprehension:
上述内容相当于:
除此之外,它更简洁,也避免了所有那些对
list.append
的调用(这意味着它更高效)相关问题 更多 >
编程相关推荐