[Python] 多重賦值 (Multiple Assignment) 時的計算順序
- 2022.07.21
- Multiple Assignment Python
用一個等號同時為多個變數賦值
x = a, y = b
x, y = a, b
計算順序
a, b = c, d
- 計算 c, d
- 賦值 c 給 a
- 賦值 d 給 b
實現「數值交換 (Swap)」
a, b = b, a
因為在賦值給 a, b 之前,已經先計算過了 b, a
所以在賦值給 b 時,不會因為 a 已經改變過數值而被影響
因為計算順序而出錯的範例
- Leetcode # 203. Remove Linked List Elements
- Leetcode # 206. Reverse Linked List
- Leetcode # 328. Odd Even Linked List
在同一行用多個等號將多個變數賦予相同的值
計算順序
a = b = c
- a = c
- b = c
因為計算順序而出錯的範例
Last Updated on 2023/08/16 by A1go