2024-06-16 08:25:02 发布
网友
我的问题很简单,我有一个列表:
my_list = [['a1','b1'],['a2','b2'],['a3','b3','c3'],['a4','b4','c4','d4','e4']]
如何轻松获取每个列表的最后一个元素,即:
[ 'b1' , 'b2' , 'c3' , 'e4' ]
谢谢!
您可以使用索引-1获取每个元素的最后一个元素,只需对所有子列表执行此操作。
-1
print [item[-1] for item in my_list] # ['b1', 'b2', 'c3', 'e4']
如果你在寻找一种习惯的方式,那么你可以
import operator get_last_item = operator.itemgetter(-1) print map(get_last_item, my_list) # ['b1', 'b2', 'c3', 'e4'] print [get_last_item(sub_list) for sub_list in my_list] # ['b1', 'b2', 'c3', 'e4']
如果您使用的是Python3.x,那么您也可以这样做
print([last for *_, last in my_list]) # ['b1', 'b2', 'c3', 'e4']
你可以试试
这是demo。
>>> [i.pop() for i in my_list] ['b1', 'b2', 'c3', 'e4']
或
>>> my_list = [['a1','b1'],['a2','b2'],['a3','b3','c3'],['a4','b4','c4','d4','e4']] >>> [i[-1] for i in my_list] ['b1', 'b2', 'c3', 'e4']
使用map的替代方案:
map
last_items = map(lambda x: x[-1], my_list)
或:
from operator import itemgetter print map(itemgetter(-1), my_list)
您可以使用索引
-1
获取每个元素的最后一个元素,只需对所有子列表执行此操作。如果你在寻找一种习惯的方式,那么你可以
如果您使用的是Python3.x,那么您也可以这样做
你可以试试
这是demo。
或
使用
map
的替代方案:或:
相关问题 更多 >
编程相关推荐