返回列表中包含列表列表的第n个值 - Python

时间:2017-11-14 09:22:14

标签: python python-3.x

这是我的第一个问题。我刚刚开始用Python编写代码,并尝试用Python完成我的学习作业(它实际上应该是用STATA编写的,但我想学习Python)。

所以我想做以下事情(请注意,final_list包含15000行,这只是一个小例子):

final_list = [[2.0, 1.0, 5.0, 11.0, 50612.0, 0.38875884563387036, 0.5924978852272034, 8.400468826293945, 516.0, 0.0, 0.0, 0.0, 2003.0], [2.0, 1.0, 5.0, 11.0, 50612.0, 0.38875884563387036, 0.5924978852272034, 8.400468826293945, 517.0, 0.0, 0.0, 0.0, 2003.0], [2.0, 1.0, 5.0, 11.0, 50612.0, 0.38875884563387036, 0.5924978852272034, 8.400468826293945, 518.0, 0.0, 0.0, 0.0, 2003.0]

treshold = [11.0, 11.0, 11.0]

我现在尝试过的是:

treshold = []
for sublist in final_list:
    treshold_lst = sublist[3]
    treshold.append(treshold_lst)
print(treshold)

我收到以下错误:

IndexError: list index out of range

有人看到我做错了吗?

1 个答案:

答案 0 :(得分:2)

尝试list comprehension

final_list = [[1,2,3,4],[1,2,3,5],[1,3,4,6]]
treshold = [sub[-1] for sub in final_list]