Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/280.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/user-interface/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
python:TypeError:类型为';内置函数或方法';这是不可容忍的_Python_For Loop_Typeerror - Fatal编程技术网

python:TypeError:类型为';内置函数或方法';这是不可容忍的

python:TypeError:类型为';内置函数或方法';这是不可容忍的,python,for-loop,typeerror,Python,For Loop,Typeerror,因此,我一直在尝试完成一个拼写检查程序,该程序使用.txt并与dictionary.txt进行比较,以查找错误的单词。结果应该是打印回.txt中错误的单词 但在尝试执行for循环时,我不断遇到此错误: TypeError:类型为“内置函数”或“方法”的参数不可iterable 这是我的密码: def spell_check(wordlist): opening = open('words.txt').read(). lower(). strip(' ') text = []

因此,我一直在尝试完成一个拼写检查程序,该程序使用.txt并与dictionary.txt进行比较,以查找错误的单词。结果应该是打印回.txt中错误的单词

但在尝试执行for循环时,我不断遇到此错误:

TypeError:类型为“内置函数”或“方法”的参数不可iterable

这是我的密码:

def spell_check(wordlist):
    opening = open('words.txt').read(). lower(). strip(' ')
    text = []
    conv = set(opening)
    conv1 = set(wordlist)
    conv2 = conv1.add
    return [x for x in conv if x not in conv2]
编辑: 我需要conv2,因为我需要保持错误的顺序与它们出现的顺序相同;我不希望它像一套一样被订购。因此,如果有人对如何解决这个问题有其他见解的话。那太好了


如果有人能对这件事有所了解,那将不胜感激

看起来您正试图将
conv2
作为一个iterable进行访问,尽管您已将其设置为等于方法
add()
。。。你在做什么

conv2 = conv1.add

这是问题线。。。我认为您正在寻找的不是
.add
,而是将
conv2
分配给函数(例如,您可以说
conv2(2)
,相当于
conv1.add(2)
)。

问题是您正在将方法
add
绑定到变量
conv2
。我想你可能想做的是:

def spell_check(wordlist):
    # change .strip(' ') to .split(' ') to get a list
    opening = open('words.txt').read().lower().split(' ')
    conv = set(opening)
    conv1 = set(wordlist)

    # I don't think you need conv2 at all, right?
    return [x for x in conv if x not in conv1]

我假设传入的
wordlist
是字典,“words.txt”是您正在检查拼写的文档。

我不认为这是<代码>转换=设置(打开)。。。做你想做的事。提示:在任何情况下,您都不会将从文件中读取的文本拆分为单词。
wordlist
是字典,而“words.txt”是您正在拼写检查的文档吗?完全相同的帖子: