如何获取列表的第n个元素

时间:2019-11-26 12:10:33

标签: python list

我的代码有以下输出:

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

有人知道如何获得此结果吗?

2 个答案:

答案 0 :(得分:2)

如果您的列表名为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]

答案 1 :(得分:1)

使用索引的mod!

6_list = []
7_list = []
for i in xrange(len(your_list) + 1):
    if i%10 == 6:
        6_list.append(your_list[i])
    elif i%10 == 7:
        7_list.append(your_list[i])