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

时间:2015-04-15 01:05:13

标签: python set

new_set = set('Hello')

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

4 个答案:

答案 0 :(得分:5)

使用set literal:

new_set = {'hello'}

答案 1 :(得分:5)

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

话虽如此,请改为:

new_set = set(['Hello'])

答案 2 :(得分:4)

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

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

答案 3 :(得分:0)

时序的几种方法(在Windows 7上使用python 2.7.8):

文字:

my_set = {"Hello"}

使用timeit:

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

空集:

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

使用timeit:

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

将一个iterable转换为一组:

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

使用timeit:

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