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

时间:2014-07-09 12:50:21

标签: python dictionary set

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

AIM:

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

添加到SET:

Dictionary[key_2].add('name_3')

但是,使用set对象会将name字符串分解为预期显示为here的字符。我试图将字符串设为元组,即set(('name'))Dictionary[key].add(('name2')),但这不能按要求工作,因为字符串会被拆分为字符。

是通过列表向字符串添加字符串以阻止它被分解为

等字符的唯一方法
'n', 'a', 'm', 'e'

非常感谢任何其他想法。

2 个答案:

答案 0 :(得分:15)

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

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

答案 1 :(得分:14)

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

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

Dictionary[key_2].add(['name_3'])

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