Python访问列表中的所有第二个元素,并将它们添加到新列表中

2024-05-19 21:56:36 发布

您现在位置:Python中文网/ 问答频道 /正文

如何访问所有第二个元素并将它们添加到新列表中。 我希望结果是[机场,坦普尔U,华明斯特,…]

以下是我的清单:

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   ', '']]

我收到以下错误“索引器:列表索引超出范围” 这是我的密码:

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

3条回答

您可以使用列表理解来实现这一点:

current_list = [['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   ', '']]  
new_list = [x[1] for x in current_list]

以下是一种更具Python风格的方法:

trains = [x[1] for x in my_list_of_stuff]

这将遍历my_list_of_stuff的每个元素,获取第二个索引中的项,并将其添加到secondOnly

这种类型的代码称为列表理解。您可以在此处阅读更多信息:https://www.w3schools.com/python/python_lists_comprehension.asp

把它拉到转置位置就行了

transposed = zip(*my_list_of_stuff)

然后您可以选择第1列

transposed[1]

相关问题 更多 >