对两个重复集使用 update() 方法
Using update() method for two duplicate sets
我想将两个重复的集合加在一起。为什么我的代码 return None?
firstset = {1, 2, 3}
secondset = {1, 2, 3}
thirdset = firstset.update(secondset)
print(thirdset)
发生这种情况是因为您将 .update()
的 return 值分配给了 thirdset
。更新就地发生(即它们变异 firstset
),函数 returns None
.
下面的代码片段显示了您可能的意图。请注意,firstset
和 thirdset
指向内存中的同一位置,因此当尝试读取 thirdset
的内容时,将反映使用 firstset
的更新,反之亦然。
firstset = {1, 2, 3}
secondset = {1, 2, 3}
firstset.update(secondset)
thirdset = firstset
print(thirdset)
集合更新将更新调用它的集合,returns None。
那是因为pythonset.update()方法returnNone。
阅读文档了解更多详情:https://docs.python.org/3/library/stdtypes.html#set-types-set-frozenset
如果你想得到加法,你可以做的是,
firstset.update(secondset)
print(firstset)
因为从更新函数来看,第一个集合是用新值更新的集合。
因为Python的内置容器类大多使用command-query separation,所以mutate a set
return [=14=的方法]. (此规则的一个例外是 pop()
,它既删除又 return 一个集合元素。)
所以不用
thirdset = firstset.update(secondset)
你可以写:
firstset.update(secondset)
thirdset = firstset
或者如果您想单独保留 firstset
,请使用集合联合运算符 |
:
thirdset = firstset | secondset
它更新了第一组。你可以使用 |还有
firstset = {1, 2, 3}
secondset = {5, 2, 4}
firstset |= secondset
print(firstset)
我想将两个重复的集合加在一起。为什么我的代码 return None?
firstset = {1, 2, 3}
secondset = {1, 2, 3}
thirdset = firstset.update(secondset)
print(thirdset)
发生这种情况是因为您将 .update()
的 return 值分配给了 thirdset
。更新就地发生(即它们变异 firstset
),函数 returns None
.
下面的代码片段显示了您可能的意图。请注意,firstset
和 thirdset
指向内存中的同一位置,因此当尝试读取 thirdset
的内容时,将反映使用 firstset
的更新,反之亦然。
firstset = {1, 2, 3}
secondset = {1, 2, 3}
firstset.update(secondset)
thirdset = firstset
print(thirdset)
集合更新将更新调用它的集合,returns None。
那是因为pythonset.update()方法returnNone。 阅读文档了解更多详情:https://docs.python.org/3/library/stdtypes.html#set-types-set-frozenset
如果你想得到加法,你可以做的是,
firstset.update(secondset)
print(firstset)
因为从更新函数来看,第一个集合是用新值更新的集合。
因为Python的内置容器类大多使用command-query separation,所以mutate a set
return [=14=的方法]. (此规则的一个例外是 pop()
,它既删除又 return 一个集合元素。)
所以不用
thirdset = firstset.update(secondset)
你可以写:
firstset.update(secondset)
thirdset = firstset
或者如果您想单独保留 firstset
,请使用集合联合运算符 |
:
thirdset = firstset | secondset
它更新了第一组。你可以使用 |还有
firstset = {1, 2, 3}
secondset = {5, 2, 4}
firstset |= secondset
print(firstset)