如何在不破坏字符串的情况下将字符串添加到 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
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