首页 > 解决方案 > Python 访问列表中的所有第二个元素并将它们添加到新列表中

问题描述

我如何访问所有第二个元素并将它们添加到新列表中。我希望结果是 [ Airport, Temple U, Warminster,...]

这是我的清单:

my_list_of_stuff = [['R4S=01:25', 'Airport', '3B', ' 2 LATE', 'LOCAL                    ', '437   ', '<_NEXT_MSG>01:55', 'Airport', '3B', 'ON TIME', 'LOCAL                    ', '9439  ', '<_NEXT_MSG>02:25', 'Airport', '3B', 'ON TIME', 'LOCAL                    ', '441   ', '<_NEXT_MSG>02:55', 'Airport', '3B', 'ON TIME', 'LOCAL                    ', '9443  ', ''], ['R4N=01:35', 'Temple U', '2A', ' 3 LATE', 'LOCAL                    ', '9434  ', '<_NEXT_MSG>02:05', 'Warminster', '2A', 'ON TIME', 'LOCAL                    ', '436   ', '<_NEXT_MSG>02:35', 'Temple U', '2A', 'ON TIME', 'LOCAL                    ', '9438  ', '<_NEXT_MSG>03:05', 'Warminster', '2A', 'ON TIME', 'LOCAL                    ', '440   ', '']]

我收到此错误“IndexError:列表索引超出范围”这是我的代码:

trains = []
for i in range(len(my_list_of_stuff)):
        A = [x[1] for x in my_list_of_stuff]
        trains.append(A)

标签: pythonlist

解决方案


只需将其压缩即可转置

transposed = zip(*my_list_of_stuff)

那么你可以只选择第一列

transposed[1]


推荐阅读