使用元组将元组作为元素的排序列表

时间:2010-09-11 04:49:34

标签: python sorting

我有一个如下列表。

[(5,), (2,), (4,), (1,), (3,), (6,), (7,), (8,)]

如何对列表进行排序以获取

[1,2,3,4,5,6,7,8]

[8,7,6,5,4,3,2,1]

3 个答案:

答案 0 :(得分:4)

将元组列表转换为整数列表,然后对其进行排序:

thelist = [(5,), (2,), (4,), (1,), (3,), (6,), (7,), (8,)]

sortedlist = sorted([x[0] for x in thelist])

print sortedlist

codepad

上查看

答案 1 :(得分:1)

我会给你一个更广泛的答案:

from itertools import chain
sorted( chain.from_iterable( myList ) )

不仅可以对您要求的内容进行排序,还可以对任意长度元组的任何列表进行排序。

答案 2 :(得分:0)

datalist = [(5,), (2,), (4,), (1,), (3,), (6,), (7,), (8,)]
sorteddata = sorted(data for listitem in datalist for data in listitem)
reversedsorted = sorteddata[::-1]
print sorteddata
print reversedsorted

# Also
print 'With zip', sorted(zip(*datalist)[0])