我是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
答案 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'} )
传入列表或字符串集中的每个项目都将添加到集合
中