Python - 获取列表列表中每个列表的最后一个元素

Cov*_*ich 6 python list

我的问题很简单,我有一份清单清单:

my_list = [['a1','b1'],['a2','b2'],['a3','b3','c3'],['a4','b4','c4','d4','e4']]
Run Code Online (Sandbox Code Playgroud)

我怎样才能轻松获得每个列表的最后一个元素,即:

[ 'b1' , 'b2' , 'c3' , 'e4' ]
Run Code Online (Sandbox Code Playgroud)

谢谢 !

the*_*eye 9

您可以使用索引获取每个元素的最后一个元素,-1并为所有子列表执行此操作.

print [item[-1] for item in my_list]
# ['b1', 'b2', 'c3', 'e4']
Run Code Online (Sandbox Code Playgroud)

如果你正在寻找惯用的方式,那么你可以做到

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']
Run Code Online (Sandbox Code Playgroud)

如果您使用的是Python 3.x,那么您也可以这样做

print([last for *_, last in my_list])
# ['b1', 'b2', 'c3', 'e4']
Run Code Online (Sandbox Code Playgroud)