Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/list/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 3.x 如何按大小对列表进行排序?_Python 3.x_List - Fatal编程技术网

Python 3.x 如何按大小对列表进行排序?

Python 3.x 如何按大小对列表进行排序?,python-3.x,list,Python 3.x,List,我是新来的,对Python也不熟悉。 我想知道是否有人知道如何按大小对生成的列表进行排序 我这里有一段代码。排序应该从小到大。 6.52、26.4 for i in x: pfad = (i) title=(i) size = (i) bild = (i) liste=('<a href="' + pfad + '">' + title + '<br>;' + size + '<div><img src="' +

我是新来的,对Python也不熟悉。 我想知道是否有人知道如何按大小对生成的列表进行排序

我这里有一段代码。排序应该从小到大。 6.52、26.4

for i in x:
    pfad = (i)
    title=(i)
    size = (i)
    bild = (i)

    liste=('<a href="' + pfad + '">' + title + '<br>;' + size + '<div><img src="' + bild + '" /></div></a></br>')
    print(liste)

    <a href="URL/">Title<br>;26.14;GB<div><img src="https://URL.jpg" /></div></a></br>
    <a href="URL/">Title<br>;6.52;GB<div><img src="https://URL.jpg" /></div></a></br>
    <and much more>
还有其他的事情,比如lambda等等,但它不起作用。 有人有什么建议吗


如果您确信只会得到一个简单的列表,如[1、2、3、4],那么默认情况下,使用排序方法是按升序排列的,因此不需要键

liste = csv.reader(liste,delimiter=';')
liste = sorted(liste)

for i in liste:
    print (i)
对于降序,将reverse=True添加到排序方法中

可以使用itemgetter从列表中检索元素,如下所示:

>>> from operator import itemgetter
>>> z = ['foo', 'bar','qux','zoo']
>>> itemgetter(1)(z)
如果仍然要使用itemgetter进行排序,则需要至少具有二维列表

>>> a = [[1,2,1,2,3,4,5,6,3,4],[1,2,3,4],[4,5,7,8], [1,2,2,3,4,5,4,65,3,4,3,2,2]]
>>> sorted(a, key=itemgetter(3))
[[1, 2, 1, 2, 3, 4, 5, 6, 3, 4], [1, 2, 2, 3, 4, 5, 4, 65, 3, 4, 3, 2, 2], [1, 2, 3, 4], [4, 5, 7, 8]]
>>>
但我认为csv阅读器很可能会返回字典

liste = csv.reader(liste,delimiter=';')
liste = sorted(liste, key=lambda k: k['name of the column'])

for i in liste:
    print (i)

你好,欢迎来到苏。我试过。。。其他的事情,兰姆达,等等。在你的问题中包括你所尝试的,它将帮助我们。如果您还没有这样做,请查看和。您可能还希望向我们提供具有预期输出的示例输入。这让事情变得更清楚了。
liste = csv.reader(liste,delimiter=';')
liste = sorted(liste, key=lambda k: k['name of the column'])

for i in liste:
    print (i)