我是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'])
>>>
Run Code Online (Sandbox Code Playgroud)
我想要的结果是 set(['a', 'de', 'bc', 'fg', 'hi'])
这是否意味着该update()功能不适用于添加字符串?
使用的Python版本是:Python 2.7.1
kin*_*all 17
您提供了update()多个可迭代对象(字符串是可迭代的),因此它遍历每个对象,添加每个对象的项目(字符)。给它一个包含要添加的字符串的可迭代对象(例如列表)。
set1.update(['fg', 'hi'])
Run Code Online (Sandbox Code Playgroud)
这是使用管道等于 ( |= ) 的有趣之处...
>>> set1 = {'a', 'bc'}
>>> set1.add('de')
>>> set1
set(['a', 'de', 'bc'])
>>> set1 |= set(['fg', 'hi'])
>>> set1
set(['a', 'hi', 'de', 'fg', 'bc'])
Run Code Online (Sandbox Code Playgroud)