多重賦值有兩種方式
一,變數賦值->右邊先完成計算,然後在賦值給左邊變數。
x,y = y,x+y
###等價於##
m = y
n = x+y
x = m
y = n
常用例項:
資料交換
a,b = 1,2
a,b = b,a
# a->2 b ->1
二,列表等多重賦值
l = [1,2,'3','4']
a,b,c,d = l
# int,int,str,str
變數個數必須等於list(tuple,dic)的長度;字典多重賦值時,賦予的是key;元組(字典)賦值時,有兩種情況。
dic =
a,b = dic # a->'name'
a = dic # a->
如果當變數個數與list長度不同時,可以考慮使用*.
l = [1,2,'3']
a,*b = l
# a = 1 ,b =[2,'3']
補充一點,關於可變型別的巢狀多重賦值問題。
下面**是想將 index= 0 位置的元素1, 換到idnex=1的位置處,但是一種正確,一種錯誤。主要是因為第4行**中,先將nums[index] 改變了,列表是可變型別,所以即刻就改變了。所以,盡量避免這樣的多重巢狀型別的賦值,以免出現錯誤。
nums = [1,2,4,4,0]
index = 0
nums[nums[index]],nums[index] = nums[index],nums[nums[index]] #正確
nums[index],nums[nums[index]] = nums[nums[index]],nums[index] #錯誤 ->死迴圈
#下面最好
temp = nums[index]
nums[index] = nums[temp]
nums[temp] = temp
python多重賦值技巧
多重賦值技巧是一種快捷方式,讓你在一行 中,用列表中的值為多個變數賦值。所以不必像這樣 cat fat black loud size cat 0 color cat 1 disposition cat 2 而是輸入下面的 cat fat black loud size,color,disposit...
Python多重賦值技巧
1 多重賦值技巧是一種快捷方式,讓你在一行 中,用列表中的值為多個變數賦值。所以不必像這樣 entrepreneur jackma ponyma leijun alibaba entrepreneur 0 tencent entrepreneur 1 xiaomi entrepreneur 2 而可...
關於python多重賦值的小問題
前言 今天無意中發現在python中的乙個多重賦值的小問題,自己一開始是比較簡單化的理解了這個多重賦值操作的概念,所以導致在一道實現斐波那契數列的 中,發現了自己的問題,順www.cppcns.com便記錄下吧,當作是學習總結。首先是python的多重賦值操作,先用乙個直觀的 來看 a,b 0,1 ...