为什么在python中的“设置”对象中的“添加”功能无法使用“ =”?

lan*_*bai 0 python

中的pythonadd用于将项目添加到set对象:

set_object = {'apple', 'orange'}
set_object.add('pear')
Run Code Online (Sandbox Code Playgroud)

但是,new_object = set_object.add('pear')并不等同于set_object.add('pear')

那么,为什么new_object呢?还有一种等效的方法将赋给变量吗?如果我不想修改原件该set_object怎么办?

这也行不通

new_object = set_object + {'pear'}
Run Code Online (Sandbox Code Playgroud)

目前,看来我必须要做:

set_object = {'apple', 'orange'}
set_object.add('pear')
new_object = set_object
set_object = {'apple', 'orange'}
Run Code Online (Sandbox Code Playgroud)

有没有更有效的方法?

Pru*_*hvi 5

您可以使用union函数或'|'运算符将新set的追加到现有的。

set_object = {'apple', 'orange'}
new_object = set_object | {'pear'}
Run Code Online (Sandbox Code Playgroud)

要么

set_object = {'apple', 'orange'}
new_object = set_object.union({'pear'})
Run Code Online (Sandbox Code Playgroud)