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根据元素数量对列表进行排序_Python_List_Sorting - Fatal编程技术网

python根据元素数量对列表进行排序

python根据元素数量对列表进行排序,python,list,sorting,Python,List,Sorting,我需要根据列表中元素的数量对列表进行排序。 以下是我的一些清单: ['RB', 'RB', 'VBD', 'TO', 'PRP', 'RB'] ['PRP', 'RB', 'RB', 'JJ'] ['PRP', 'MD', 'RB', 'VB', 'PRP$', 'NN', 'RB', 'IN', 'NN'] ['RB', 'DT', 'NN'] ['PRP', 'RB', 'VBP', 'PRP'] ['PRP', 'RB', 'VBD', 'IN', 'DT'] ['MD', 'RB', '

我需要根据列表中元素的数量对列表进行排序。 以下是我的一些清单:

['RB', 'RB', 'VBD', 'TO', 'PRP', 'RB']
['PRP', 'RB', 'RB', 'JJ']
['PRP', 'MD', 'RB', 'VB', 'PRP$', 'NN', 'RB', 'IN', 'NN']
['RB', 'DT', 'NN']
['PRP', 'RB', 'VBP', 'PRP']
['PRP', 'RB', 'VBD', 'IN', 'DT']
['MD', 'RB', 'VB', 'IN', 'NNP', 'RB']
['RB', 'CD']
这就是所寻求的结果:

['RB', 'CD']
['RB', 'DT', 'NN']
['PRP', 'RB', 'RB', 'JJ']
['PRP', 'RB', 'VBP', 'PRP']
['PRP', 'RB', 'VBD', 'IN', 'DT']
['MD', 'RB', 'VB', 'IN', 'NNP', 'RB']
['RB', 'RB', 'VBD', 'TO', 'PRP', 'RB']
['PRP', 'MD', 'RB', 'VB', 'PRP$', 'NN', 'RB', 'IN', 'NN']
列表根据其上的元素数量从最短到最大排序

有人能帮忙吗?。。。我做了一些研究,但找不到解决办法。谢谢。有字符串长度的解决方案,但列表中没有元素

使用
sorted()
函数,使用每个元素的长度作为排序键:

sorted(the_list, key=len)
例如:

>>> the_list = [
...     ['RB', 'RB', 'VBD', 'TO', 'PRP', 'RB'],
...     ['PRP', 'RB', 'RB', 'JJ'],
...     ['PRP', 'MD', 'RB', 'VB', 'PRP$', 'NN', 'RB', 'IN', 'NN'],
...     ['RB', 'DT', 'NN'],
...     ['PRP', 'RB', 'VBP', 'PRP'],
...     ['PRP', 'RB', 'VBD', 'IN', 'DT'],
...     ['MD', 'RB', 'VB', 'IN', 'NNP', 'RB'],
...     ['RB', 'CD']
... ]
>>> sorted(the_list, key=len)
[['RB', 'CD'], ['RB', 'DT', 'NN'], ['PRP', 'RB', 'RB', 'JJ'], ['PRP', 'RB', 'VBP', 'PRP'], ['PRP', 'RB', 'VBD', 'IN', 'DT'], ['RB', 'RB', 'VBD', 'TO', 'PRP', 'RB'], ['MD', 'RB', 'VB', 'IN', 'NNP', 'RB'], ['PRP', 'MD', 'RB', 'VB', 'PRP$', 'NN', 'RB', 'IN', 'NN']]

您可以创建列表列表,然后按如下所示进行排序:

a = ['RB', 'RB', 'VBD', 'TO', 'PRP', 'RB']
b = ['PRP', 'RB', 'RB', 'JJ']

combo = [a,b]

sorted_list = sorted(combo, key=len)

sorted(yourlist,key=len)
在发布问题之前,请进行最低程度的研究,例如将您打算用于该问题的标题粘贴到谷歌搜索中。我执行了搜索。给出的解决方案针对的是字符串,而不是列表中的元素。给出的解决方案不起作用。我认为,很多人急于在问题上打负面分数think@norpa:
len
对列表的作用方式相同。我的列表不在列表列表中。我必须创建列表列表吗?我希望找到一个更直接的方法solution@norpa:那么,你在哪里找到它们?@norpa这些列表可以是任意一个表。这包括列表、元组和生成器。我不知道你所说的“直截了当”是什么意思。你的列表目前存储在什么地方?