如何在Python中为一个集添加多个字符串?

时间:2014-06-06 22:19:03

标签: 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', 'de', 'bc'])
>>>

我想要的结果是set(['a', 'de', 'bc', 'fg', 'hi'])

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

使用的Python版本是:Python 2.7.1

4 个答案:

答案 0 :(得分:8)

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

答案 1 :(得分:1)

你给了update()多个迭代(字符串是可迭代的),所以它遍历每个迭代,添加每个的项目(字符)。给它一个包含你想要添加的字符串的可迭代(例如列表)。

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

答案 2 :(得分:1)

使用管道等于(| =)...

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

答案 3 :(得分:0)

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

传入列表或字符串集中的每个项目都将添加到集合