将字符串转换为集合而不拆分字符

时间:2013-12-11 20:00:54

标签: python-3.x

我有一个简单的问题:a='Tom',一种str。我想把它变成一个带有一个项目的集合。如果我使用命令b = set(a),我会得到一个包含3个项目的集合,即set(['m',''T','o'])。我想要set(['Tom'])。我怎么能得到它?感谢。

3 个答案:

答案 0 :(得分:1)

set内置函数可以创建迭代集。迭代字符串会逐个产生每个字符,因此将字符串包装在其他可迭代字符串中:

set(['Tom'])
set(('Tom',))

如果你已经习惯了集合的数学符号,你可以使用花括号(不要把它与词典的符号混淆):

{'Tom'}
{'Tom', 'Bob'}

结果集是等价的

>>> {'Tom'} == set(['Tom']) == set(('Tom',))
True

答案 1 :(得分:0)

set(['Tom'])

你刚回答了自己的问题(给出清单,而不是字符串)。

答案 2 :(得分:0)

像这样:

a = "Tom"

b = set([a])