Python - 位运算的底层逻辑
  • 板块学术版
  • 楼主JEB_Bem
  • 当前回复3
  • 已保存回复3
  • 发布时间2024/11/5 11:17
  • 上次更新2024/11/5 14:40:31
查看原帖
Python - 位运算的底层逻辑
561536
JEB_Bem楼主2024/11/5 11:17

请问造成下面代码运行结果差异的原因是什么呢? 我记得 C/C++ 好像也有这样的运行结果(记错勿喷),当时是简单判断下标相等避免了这个问题。

def swap(nums, a, b):   
    nums[a] = nums[a] ^ nums[b]
    nums[b] = nums[a] ^ nums[b]
    nums[a] = nums[a] ^ nums[b]
nums = [1, 2, 2]
a = 1
b = 1
swap(nums,a,b)
print(nums[a], nums[b])

nums = [1, 2, 2]
a = 1
b = 2
swap(nums,a,b)
print(nums[a], nums[b])

运行结果

0 0
2 2

2024/11/5 11:17
加载中...