Python 颠倒列表的顺序,然后按字典顺序排序
我需要做一个代码,对单词列表进行排序,并将它们从反面按字典顺序排列。例如,给定列表Python 颠倒列表的顺序,然后按字典顺序排序,python,Python,我需要做一个代码,对单词列表进行排序,并将它们从反面按字典顺序排列。例如,给定列表[“harry”,“harra”,“harrb”]我需要一种方法来反转每个单词,使列表变成[“yrrah”,“arrah”,“brrah”]。然后我需要按字典顺序对其排序,并将其反转回原始顺序。因此它看起来像[“harra”,“harrb”,“harry”]。我从“ifile”文件中提取单词,但对于这段代码,我只对字母数为“n”的单词进行排序 以下是我目前的代码: def getRhymeSortedCount(n
[“harry”,“harra”,“harrb”]
我需要一种方法来反转每个单词,使列表变成[“yrrah”,“arrah”,“brrah”]
。然后我需要按字典顺序对其排序,并将其反转回原始顺序。因此它看起来像[“harra”,“harrb”,“harry”]
。我从“ifile”文件中提取单词,但对于这段代码,我只对字母数为“n”的单词进行排序
以下是我目前的代码:
def getRhymeSortedCount(n,ifile,file):
word_list = []
for word in ifile:
if len(word) == n:
word_list.append(word.strip())
arr = word_list
arr.sort(key = lambda x : x[::-1])
ofile.write("\n".join(word_list))
它按单词的最后一个字母正确排序,但不按字母数对单词进行排序=“n”
如何更改len语句以仅获取包含n个字母的单词?指定要排序为反向字符串的键
word_list = ["harry","harra", "harrb"]
word_list.sort(key=lambda str: str[::-1])
指定要排序为反向字符串的键
word_list = ["harry","harra", "harrb"]
word_list.sort(key=lambda str: str[::-1])
使用一个简单的lambda函数-
arr = ["harry","harra", "harrb"]
arr.sort(key = lambda x : x[::-1])
print(arr)
输出-
['harra', 'harrb', 'harry']
使用一个简单的lambda函数-
arr = ["harry","harra", "harrb"]
arr.sort(key = lambda x : x[::-1])
print(arr)
输出-
['harra', 'harrb', 'harry']
感觉就像你希望有人帮你做家庭作业一样——所以这里有一个答案,你需要稍微打开包装才能理解
word_list = ['harry', 'harra', 'harrb', "ignore_me"]
[y[::-1] for y in sorted([ x[::-1] for x in word_list if len(x) == 5])]
在这里要学习的东西:
- 列表理解[f(x)表示x在x的列表中的x,如果表达式为]
- 可以将字符串切分为字符列表(反之亦然)
- 排序(mylist)返回列表的排序版本
- 在这里查看reversed(mylist),即使它在这里没有使用。您可以嵌套这些:reversed(sorted(mylist))-neat!(但在我的解决方案中没有使用)
(哦,我喜欢lambda的答案)感觉你希望有人帮你做家庭作业-所以这里有一个答案,你需要稍微打开包装才能理解
word_list = ['harry', 'harra', 'harrb', "ignore_me"]
[y[::-1] for y in sorted([ x[::-1] for x in word_list if len(x) == 5])]
在这里要学习的东西:
- 列表理解[f(x)表示x在x的列表中的x,如果表达式为]
- 可以将字符串切分为字符列表(反之亦然)
- 排序(mylist)返回列表的排序版本
- 在这里查看reversed(mylist),即使它在这里没有使用。您可以嵌套这些:reversed(sorted(mylist))-neat!(但在我的解决方案中没有使用)
(哦,我喜欢lambda的答案)基本上,它从每个单词的末尾开始按字典顺序排列,但仍然将它们作为原始列表中的单词列出。因此,它将单词反转,排序,然后再反转。基本上,它从每个单词的末尾开始按字典顺序排列,但仍然将它们作为原始列表中的单词列出。因此,它将单词反转,对它们进行排序,然后再将它们颠倒过来。我需要它来显示一个完整的单词列表,该列表包含21000个单词。因此,不要写单词列表=[“harry”,“harra”,“harrb”]我应该写什么?这取决于单词的位置。如果你从一个文件中获取它们,那么请阅读该文件并将它们放入一个列表。@Expertenthemaking 22你已经有了在你自己的问题中创建列表的代码。而不是你的代码?我需要它来查找一个有21000个单词的完整单词列表。因此,不要写单词列表=[“harry”“harra”,“harrb”]我应该写什么?这取决于单词的位置。如果你从文件中获取它们,那么请阅读文件并将它们放入列表中。@Expertenthemaking 22你已经有了在你自己的问题中创建列表的代码。不是你的代码?这会让我得到正确的顺序,但我还需要它对有“n”的单词进行排序“字母数。我的len语句的位置是否错误?为此,您必须描述ifile是什么。您应该问一个单独的问题。这会让我获得正确的排序,但我还需要它对字母数为“n”的单词进行排序。我的len语句的位置是否错误?为此,您必须描述什么是
ifile
。您应该问一个单独的问题。