爱笑的无赖 发表于 2022-5-6 08:08:15

新版python零基础入门 集合问题求解答。

昨天发了个帖子, 不知道是没了还是没发成功。{:10_269:} 再发一遍。

现在学到集合了, 问题来了。 集合上部分讲到的三个函数集合下部分提到以这个词缀开头的update函数。 它们貌似没什么区别啊。 视频弹幕上也很多人在问这个问题。

集合(上)讲到的三个函数是 intersection() , difference(), symmetric_difference()
集合(下)视频里讲的intersection_update() , difference_update(),symmetric_difference_update()
这些集合(下)提到的update类的函数跟集合(上)提到的函数有什么区别? 感觉实现的功能好像是一样的。

大神能帮我解答下吗非常感谢。 {:10_247:}

isdkz 发表于 2022-5-6 08:15:59

本帖最后由 isdkz 于 2022-5-6 08:18 编辑

>>> s = set("FishC")
>>> s
{'C', 'F', 'h', 's', 'i'}
>>> t = s.symmetric_difference(['C', 1, 2, 3])
>>> t
{1, 2, 3, 'F', 'h', 's', 'i'}
>>> s
{'C', 'F', 'h', 's', 'i'}
>>> t is s
False
>>> s.symmetric_difference_update(['C', 1, 2, 3])
>>> s
{1, 2, 3, 'F', 'h', 's', 'i'}
>>>

可以看到,虽然带 update 和 不带 update 都是相同的值,

但是不带 update 是返回一个新的集合,而带 update 是直接影响原来的集合

爱笑的无赖 发表于 2022-5-6 08:20:12

isdkz 发表于 2022-5-6 08:15
可以看到,虽然带 update 和 不带 update 都是相同的值,

但是不带 update 是返回一个新的集合,而 ...

好的, 谢谢大神{:5_108:}
页: [1]
查看完整版本: 新版python零基础入门 集合问题求解答。