代码之家  ›  专栏  ›  技术社区  ›  prosseek

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

  •  2
  • prosseek  · 技术社区  · 14 年前

    [(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 回复  |  直到 14 年前
        1
  •  4
  •   NullUserException Mark Roddy    14 年前

    thelist = [(5,), (2,), (4,), (1,), (3,), (6,), (7,), (8,)]
    
    sortedlist = sorted([x[0] for x in thelist])
    
    print sortedlist
    

    在电视上看到了吗 codepad

        2
  •  1
  •   wheaties    14 年前

    我会给你一个更概括的答案:

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

        3
  •  0
  •   Tony Veijalainen    14 年前
    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])