迭代列表并尝试删除(' \ n')时,列表返回None而不是列表的元素

时间:2016-08-12 14:25:46

标签: python loops

相当新的Python,但我试图制作一个Scrabble anagram解算器,它将循环一个大文本文件并检查用户给出7个字母机架的字谜。我正在使用is_anagram函数并使用sorted()按字母顺序列出单词中的字母,然后使用if语句查看排序后的单词从字典中等于提供的排序字母。因为正在搜索的字母来自长列表,所以在列表中创建"\n",这使得它们不相等。我尝试设置迭代,以便在比较之前从列表中删除'\n',但由于某种原因,它将列表返回为None而不是列表减去{{1} }}。不知道为什么。有人可以帮忙吗?代码如下:

'\n'

1 个答案:

答案 0 :(得分:2)

删除换行符后,您无需再次指定x。

def is_anagram(word):
    scrabble_dict = open('sowpods.txt')
    for x in scrabble_dict:
        x = sorted(x)
        x.remove('\n')
        word = sorted(word)
        if word == x:
            print(word)