我有一个如下列表。
[(5,), (2,), (4,), (1,), (3,), (6,), (7,), (8,)]
如何对列表进行排序以获取
[1,2,3,4,5,6,7,8]
或
[8,7,6,5,4,3,2,1]
答案 0 :(得分:4)
将元组列表转换为整数列表,然后对其进行排序:
thelist = [(5,), (2,), (4,), (1,), (3,), (6,), (7,), (8,)]
sortedlist = sorted([x[0] for x in thelist])
print sortedlist
上查看
答案 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])