如何在Python中向集合添加多个字符串?

如何在Python中向集合添加多个字符串?,python,python-2.7,Python,Python 2.7,我是Python新手。当我使用add()函数添加一个字符串时,它工作得很好。但当我尝试添加多个字符串时,它将它们视为字符项 >>> set1 = {'a', 'bc'} >>> set1.add('de') >>> set1 set(['a', 'de', 'bc']) >>> set1.update('fg', 'hi') >>> set1 set(['a', 'g', 'f', 'i', 'h', 'd

我是Python新手。当我使用
add()
函数添加一个字符串时,它工作得很好。但当我尝试添加多个字符串时,它将它们视为字符项

>>> set1 = {'a', 'bc'}
>>> set1.add('de')
>>> set1
set(['a', 'de', 'bc'])
>>> set1.update('fg', 'hi')
>>> set1
set(['a', 'g', 'f', 'i', 'h', 'de', 'bc'])
>>>
我想要的结果是
set(['a','de','bc','fg','hi'])

这是否意味着
update()
函数不能用于添加字符串


使用的Python版本是:Python2.7.1

尝试使用
set1.update(['fg','hi'])
set1.update({'fg','hi'})

传入列表或字符串集中的每个项都将添加到您提供的集
update()
多个iterable(字符串是iterable)中,因此它会迭代其中的每个项,并添加每个项的项(字符)。给它一个iterable(例如列表),其中包含要添加的字符串

set1.update(['fg','hi'])

update
将其参数视为集合。因此,提供的字符串
'fg'
被隐式转换为一组“f”和“g”。

下面是一些使用管道等式(|=)的有趣内容

尝试set1.update(['fg','hi'])。
>>> set1 = {'a', 'bc'}
>>> set1.add('de')
>>> set1
set(['a', 'de', 'bc'])
>>> set1 |= set(['fg', 'hi'])
>>> set1
set(['a', 'hi', 'de', 'fg', 'bc'])