我有一个列表如下:
input= ['canter creant cretan nectar',
'opt top pot',
'preprosessing' ,
'subessential suitableness']
我希望输出是
output= ['subessential suitableness',
'canter creant cretan nectar',
'opt top pot']
因此,我想根据单词的长度对输入进行重新排序。因为“subessential”是最长的单词,所以它应该放在第一位等等。同时,我需要消除“preposessing”,因为它是一个单字
我尝试使用.join()和split。我是python新手,我花了一段时间来搜索和尝试,但它仍然不起作用。希望你能帮忙!你知道吗
更简单更快的解决方案:
您可以给
sorted()
一个key
函数来确定每个条目的排序“值”:将根据每个短语中第一个单词的长度进行排序;
reverse=True
确保首先对最长的单词进行排序。你知道吗.split(None, 1)
将拆分仅限于第一个单词;不需要拆分行的其余部分。你知道吗演示:
从输入列表中删除单个单词是一个单独的问题;请在生成器表达式或列表理解中筛选列表:
两者的结合将是:
其中生成器表达式预过滤输入列表。你知道吗
相关问题 更多 >
编程相关推荐