首页 > 解决方案 > 如何获取列表的第 n 个元素

问题描述

我的代码有以下输出:

['test1', ':', '(', '83.25,', '78.32)', '*33.90*', '2.29', '2.14', '0.82', '65.95', 'test2', ':', '(', '101.80,', '95.10)', '*31.73*', '12.05', '0.60', '0.96', '-26.46', 'test3', ':', '(', '49.84,', '42.29)', '*33.19*', '6.54', '1.24', '0.50', '67.42']

我想要列表的第 6、第 7、第 16、第 17、第 26 和第 27 个元素等任何长度如果可能的话,将它们放在两个单独的列表中。所以最终我想要一个只有两个列表的输出,如下所示:

list1 = [2.29, 12.05, 6.54]
list2 = [2.14, 0.60, 1.24]

有谁知道如何得到这个结果?

标签: pythonlist

解决方案


如果您的列表被调用data,您可以执行以下操作。

data_starting_at_position_6 = data[6::10]
data_starting_at_position_7 = data[7::10]

您从正确的位置开始并10用作步骤。

目前你的列表中有字符串,所以data[6::10]给你['2.29', '12.05', '6.54']. 如果您想拥有花车,您可以使用list(map(float, data[6::10]))并获取[2.29, 12.05, 6.54].


推荐阅读