字典更新序列元素错误

时间:2017-02-13 11:57:57

标签: python python-3.x set python-3.5

我有几个字典文件,我希望这段代码打开每个文件并将其添加到一个集合中,以便以后进行比较和匹配。基本上我有所有可能字符的所有排列的不同列表,我需要知道排列是否在字典中。但是当我尝试用所有字典行创建一个集合时,我得到了这个错误:

<button type="button" onclick="changeLights()">Change Lights</button>

我收到此错误

choices = ['s','m','o','k','e','j','a','c','k']
def parsed(choices): 
    mySet = {}

    for item in choices: 
        filename = self.location + "/dicts/%s.txt" % (item)
            mySet.update(open(filename).read().splitlines())

    return mySet  

此外,我想询问在不到1分钟内运行的两组数据(9个字符排列和9个字典文件列表)之间是否存在可能的比较方法。

我理解已经有关于此错误的问题,但坦率地说,我是初学者,我不明白这些与我的代码有什么关系,或者如何修复它。

1 个答案:

答案 0 :(得分:3)

如果你写:

mySet = {}

mySet 不是set,而是字典(是的,这令人困惑)。例如:

>>> type({})
<class 'dict'>

为了构造一个空集,你应该使用:

mySet = set()

set确实有一个函数update,它将一个可迭代的元素作为输入,这些元素都被添加到集合中。另一方面,字典需要可迭代的元组(或字典等)