Python中不支持集合的增广加法吗?
在Python集合中,为什么支持增加删除元素但不支持添加?
例如,如果 s
是一个可变集合:
s = set(['e', 'd', 'h', 's'])
s -= set('ds')
给出 s = set(['e', 'h'])
但这不适用于 s += set('pk')
并导致 TypeError
。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
您想要执行的操作的正确语法是
对于集合,二元运算符
|
、&
和^
用于并集、交集和分别为对称差。我猜+
不被认为是有效的集合操作的原因是因为它没有被使用 在集合论中,而-
是。这三个二元运算符处理整数的方式和处理集合的方式之间有很好的对称性:
The correct syntax for what you want to do is
For sets, the binary operators
|
,&
and^
are used for union, intersection and symmetric difference, respectively. I guess the reason+
is not considered a valid set operation is because it is not used in set theory, while-
is.There's a nice symmetry between the way these three binary operators work on integers and the way they work on sets:
您可以使用
s | set('ds')
,假设s = set('edhs')
You could use
s | set('ds')
, assumings = set('edhs')
首先,Python 教程是您最好的朋友,包含您需要的所有信息。您可以查看以下链接以获取有关 python 设置类型的更多信息: http://docs.python.org/release/2.7/library/stdtypes.html?highlight=set.difference#set-types-set-frozenset
您可以使用 set 联合方法这个目的:
或使用 set 更新方法< /a>:
First of all python tutorial is your the very best friend and contains all information you need. You can take a look at the following link to get more info about python set types: http://docs.python.org/release/2.7/library/stdtypes.html?highlight=set.difference#set-types-set-frozenset
You can use set union method for this purpose:
Or using set update method: