使用Python将元组作为元素的排序列表
我有一份清单如下使用Python将元组作为元素的排序列表,python,sorting,Python,Sorting,我有一份清单如下 [(5,), (2,), (4,), (1,), (3,), (6,), (7,), (8,)] 如何对列表进行排序以获取 [1,2,3,4,5,6,7,8] 或 ?将元组列表转换为整数列表,然后对其进行排序: thelist = [(5,), (2,), (4,), (1,), (3,), (6,), (7,), (8,)] sortedlist = sorted([x[0] for x in thelist]) print sortedlist 请看我会给你一个更
[(5,), (2,), (4,), (1,), (3,), (6,), (7,), (8,)]
如何对列表进行排序以获取
[1,2,3,4,5,6,7,8]
或
?将元组列表转换为整数列表,然后对其进行排序:
thelist = [(5,), (2,), (4,), (1,), (3,), (6,), (7,), (8,)]
sortedlist = sorted([x[0] for x in thelist])
print sortedlist
请看我会给你一个更概括的答案:
from itertools import chain
sorted( chain.from_iterable( myList ) )
它不仅可以对您要求的内容进行排序,还可以对任意长度的元组列表进行排序。为什么不进行排序([x[0]表示列表中的x])?sorted是一个保留字,因此可能不适合用作变量。@Justine Peel:它不是一个保留字,只是一个函数的名称,但问题仍然存在。他还要求反向:
sorted([x[0]表示列表中的x],reverse=True)
。此外,“列表”是一个内置的+1.nonetheless@chpwn你说得对,我说错了。没有保留,只是一个功能。
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])
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])