我有这两个源代码,我不理解其中的区别
x = {"apple", "banana", "cherry"}
y = {"google", "microsoft", "apple"}
z = x.symmetric_difference(y)
print(z) ## z now is {'google', 'cherry', 'microsoft', 'banana'}
及
x = {"apple", "banana", "cherry"}
y = {"google", "microsoft", "apple"}
z = (x - y).update((y - x))
print(z) ## z now is NoneType
为什么第二个代码不作为第一个代码生成?正如我所知,(x-y)将返回一个集合,然后我应用更新方法(y-x)合并(x-y)集合和(y-x),所以结果应该是相同的
正如@MisterMiyagi所说的,更新功能已经到位。您可以将(x-y)保存在某个变量中,并可以执行更新操作。像这样的
只要做一点小改动,它就可以工作了:
更新操作已到位,因此对于您使用的表达式
x-y
最终是临时设置值,该值已到位更新。因此,赋值结果是None
相关问题 更多 >
编程相关推荐