我的代码有以下输出:
['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]
有人知道如何获得此结果吗?
答案 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])