如何从列表列表中的列表中提取最后一项?(Python)



我有一个列表列表,希望提取最后一项并将它们放在列表中。提取最后一项相对容易。但我所有的尝试都产生了一个列表,而不是一个列表列表。有什么建议吗?

lst = [[[11, 12, 15], [12, 13, 14], [13, 14, 15], [14, 15, 17], [15, 16, 17]], [[14, 15, 18], [15, 16, 17]]]

我想要的结果是:[[15, 14, 15, 17, 17], [18, 17]]

例如,我尝试的是这个功能:

def Extract(lst): 
for i in lst:
return [item[-1] for item in i]
print(Extract(lst))

但这只会给出:[15, 14, 15, 17, 17]

我也试过:

last = []
for i in lst:
for d in i:
last.append(d[-1])
last

但这给出了:[15, 14, 15, 17, 17, 18, 17]

如何获得[[15, 14, 15, 17, 17], [17, 18]]作为结果有什么建议吗?

lst = [[[11, 12, 15], [12, 13, 14], [13, 14, 15], [14, 15, 17], [15, 16, 17]], [[14, 15, 18], [15, 16, 17]]]
out = [[l[-1] for l in v] for v in lst]
print(out)

打印:

[[15, 14, 15, 17, 17], [18, 17]]

我建议在列表中循环两次,如下所示:

lst = [[[11, 12, 15], [12, 13, 14], [13, 14, 15], [14, 15, 17], [15, 16, 17]], [[14, 15, 18], [15, 16, 17]]]
# Result of iteration
last_lst = []
# Iterate through lst
for item1 in lst:
# Initialize temporary list
last_item1 = []

#Iterate through each list in lst
for item2 in item1:
# Add last item to temporary list
last_item1.append(item2[-1])

# Add the temporary list to last_lst
last_lst.append(last_item1)

最新更新