我需要创建一个代码来对单词列表进行排序,并将它们从反向排列成字典顺序。例如,给定列表["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个字母的单词?
答案 0 :(得分:-1)
考虑给定的例子
list1=["harry", "harra", "harrb"]
使用列表推导得到list1
的相反顺序,它看起来像这样
list1=[x[::-1] for x in list1]
现在
list1=['yrrah','arrah','brrah']
使用sorted()
方法,我们可以对list1
进行排序,看起来像这样
p=sorted(list1)
现在,
p=['arrah','brrah','yrrah']
使用list comprehension获取list1的相反顺序,它看起来像这个
list1=[x[::-1] for x in list1]
现在,
list1=['harra','harrb','harry']
所以,这是根据你的条件完成任务的一种方法。