按顺序排列的词典顺序

时间:2016-05-20 20:24:33

标签: python

我需要创建一个代码来对单词列表进行排序,并将它们从反向排列成字典顺序。例如,给定列表["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个字母的单词?

1 个答案:

答案 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']

所以,这是根据你的条件完成任务的一种方法。