在没有排序python的情况下在列表中追加值,保留附加顺序

时间:2015-12-23 13:44:26

标签: python python-2.7

我通过这段代码生成一个列表列表,它只是一个名为lvl或“Level”的数据帧列的条件,然后追加这个条件值的索引,所以我得到的问题是追加顺序对我很重要,

for i in range(1,int(24-lvl)): j=list2[(list2.lvl==(lvl+i))] jj=[] jj.append(j.index) print itertools.chain(jj)

例如,答案应该是: [0,100,110,500,501,550,555,89,120,114] 但我得到相同的列表,但排序 [0,89,100,110,114,120,500,501,550,555]

2 个答案:

答案 0 :(得分:3)

itertools.chain适合我。您需要在将列表传递给chain方法之前解压缩列表。

>>> l = [[1,5],[10,2],[6,9,3]]
>>> list(itertools.chain(*l))
[1, 5, 10, 2, 6, 9, 3]

答案 1 :(得分:0)

你可以使用列表理解来完成它:

>>> l = [[1,5],[10,2],[6,9,3]]
>>> l_out = [item for sub_l in l for item in sub_l]
>>> l_out
[1, 5, 10, 2, 6, 9, 3]