2010-09-11 78 views

回答

4

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

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

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

print sortedlist 

见它codepad

+0

为什么不仅仅是'sorted([x [0] for x in list])'?排序是一个保留字,所以最好不要用作变量。 – 2010-09-11 04:56:55

+0

@Justine Peel:这不是一个保留字,它只是一个函数的名字,但这个观点依然存在。 – 2010-09-11 04:57:24

+2

他还要求反向:'sorted([x [0] for x in list],reverse = True)'。另外,“列表”是内建的。 +1尽管如此 – sdolan 2010-09-11 05:05:37

1

我给你一个更广义的答案:

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

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

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])