如何使用Python集并将字符串作为字典值添加到其中

12a*_*avi 21 python dictionary set

我正在尝试创建一个具有值作为Set对象的字典.我想要一个与唯一引用相关联的唯一名称集合.我的目标是尝试创建类似于:

目标:

Dictionary[key_1] = set('name')    
Dictionary[key_2] = set('name_2', 'name_3')
Run Code Online (Sandbox Code Playgroud)

添加到SET:

Dictionary[key_2].add('name_3')
Run Code Online (Sandbox Code Playgroud)

然而,使用设定的对象打破了name字符串转换成如图所示预计字符在这里.我试图使字符串的元组,即set(('name'))Dictionary[key].add(('name2')),但是这并不能根据实际需要字符串被分成字符工作.

是通过列表向字符串添加字符串以阻止它被分成字符的唯一方法

'n', 'a', 'm', 'e'
Run Code Online (Sandbox Code Playgroud)

我们将非常感激地接受任何其他想法.

Fre*_*Foo 15

('name')不是一个元组.它只是表达式'name',括号内容.写一个单元素元组('name',); 单元素列表['name']更漂亮也适用.

在Python 2.7,3.x中,您还可以编写{'name'}构造集合.


Dun*_*can 15

你可以像@larsmans一样编写单个元素元组,但是很容易忘记尾随的逗号.如果您只使用列表作为集合构造函数和方法的参数,则可能不太容易出错:

Dictionary[key_1] = set(['name'])    
Dictionary[key_2] = set(['name_2', 'name_3'])

Dictionary[key_2].add(['name_3'])
Run Code Online (Sandbox Code Playgroud)

应该按照你期望的方式工作.