如何在不破坏字符串的情况下将字符串添加到 set() 中?

How to add a string into set() wiithout it breaking the string up?

new_set = set('Hello')

我只想{'Hello'}而不是每个单独的角色作为集合的一部分

使用集合文字:

new_set = {'hello'}

您可以稍后创建集合并向其中添加项目:

new_set = set()
new_set.add('Hello')

集合构造函数需要一个可迭代对象,它会将可迭代对象的每一项添加到集合中。字符串是可迭代的。因此,字符串的每个字母都被添加到集合中。

也就是说,改为这样做:

new_set = set(['Hello'])

几种计时方式(在 Windows 7 上使用 python 2.7.8):

文字:

my_set = {"Hello"}

使用时间:

python -m timeit "s = {'Hello'}"
1000000 loops, best of 3: 0.0819 usec per loop

空集:

my_set = set()
my_set.add("Hello")

使用时间:

python -m timeit "s = set()" "s.add('Hello')"
1000000 loops, best of 3: 0.222 usec per loop

将可迭代对象转换为集合:

my_set = set(("Hello",)) # Equivalent to line below
my_set = set(["Hello"]) # Equivalent to line above

使用时间:

python -m timeit "s = set(('Hello',))"
1000000 loops, best of 3: 0.237 usec per loop