python返回多個值與賦值多個值的示例代碼
一、總結(jié)
一句話總結(jié):
返回多個值:def min_max(list1): return min(list1),max(list1)賦值多個值:min1,max1=min_max([1,3,5])
1、b,=tuple2 怎么理解?
當(dāng)tuple2是元組或者列表,并且里面只有一個元素的時候,這樣變量b可以取得這個tuple2里面的元素,而不是tuple2本身
2、接收 元組或列表 的返回值?
元組多個元素賦值:tuple1=(1,23,456) a,b,c=tuple1
元組單個元素賦值:tuple2=(1,) b,=tuple2
列表單個元素賦值:list1=[1,] b,=list1
3、函數(shù)返回元組實例?
def min_max(list1): return min(list1),max(list1)
def min_max(list1): # 這樣直接返回多個值是返回元組 # 所以是不是可以想做無論是接收值和返回值,默認(rèn)是看做元組的 # 所以無論是返回值和賦值都可以這樣操作 return min(list1),max(list1)
二、Python元組_賦值與返回值
1、賦值
(1.對兩個變量的值進行交換是一種常用操作;用常見語句來實現(xiàn)的話,就必須有一個臨時變量。比如下面這個例子中是交換 a 和 b:
>>> t1 = ('a', 'b', 'c') >>> temp = t1 >>> t2 = t1 >>> t1 = temp
這樣解決還是挺麻煩的;用元組賦值就更簡潔了:
>>> t1, t2 = t2, t1
上例中,等號左邊的是變量組成的一個元組;右邊的是表達(dá)式的元組,每個值都被賦給了對應(yīng)的變量;另外,等號右邊的表達(dá)式的值保留了賦值之前的初始值。
(2.等號左右兩側(cè)的變量和值的數(shù)目都必須是一樣的,否則就會報錯賦值過多:
>>> t1, t2 = 1, 2, 3 Traceback (most recent call last): File "<stdin>", line 1, in <module> ValueError: too many values to unpack (expected 2)
(3.等號右邊可以是任意一種序列(字符串、列表或者元組)。比如,要把一個電子郵件地址轉(zhuǎn)換成一個用戶名和一個域名,可以用如下代碼實現(xiàn):
>>> addr = 'mondy@163.com' >>> uname, domain = addr.split('@')
split 的返回值是一個有兩個元素的列表;第一個元素賦值給了 uname 這個變量,第二個賦值給了 domain 這個變量。
>>> uname 'mondy' >>> domain '163.com'
2、元組做返回值
嚴(yán)格來說,一個函數(shù)只能返回一個值,但如果這個值是一個元組,效果就和返回多個值一樣了。
(1.例如,如果你想要將兩個整數(shù)相除,計算商和余數(shù),如果要分開計算 x/y 以及 x%y 就很麻煩了;而更好的辦法是同時計算這兩個值。
內(nèi)置函數(shù) divmod 就會接收兩個參數(shù),然后返回一個有兩個值的元組,這兩個值分別為商和余數(shù);如此,就可以把結(jié)果存儲為一個元組:
>>> t = divmod(8, 5) >>> t (1, 3)
或者可以用元組賦值來分別存儲這兩個值:
>>> quot, rem = divmod(8, 5) >>> quot 1 >>> rem 3
(2.下面的例子中,函數(shù)返回一個元組作為返回值:
>>> def min_max(t): ... return min(t), max(t) ... >>> t = (10, 20, 30, 40) >>> print(min_max(t)) (10, 40)
max 和 min 都是內(nèi)置函數(shù),會找到序列中的最小值或者最大值,min_max 這個函數(shù)會同時求得最小值和最大值,然后把這兩個值作為元組來返回。
結(jié)束。
三、元組和列表 返回多個值與賦值多個值
元組多元賦值
tuple1=(1,23,456) a,b,c=tuple1 print(type(a)) print(a,b,c) <class 'int'> 1 23 456
元組單個元素賦值
tuple2=(1,) print(type(tuple2)) a=tuple2 b,=tuple2 print(type(a)) print(a) print(type(b)) print(b) <class 'tuple'> <class 'tuple'> (1,) <class 'int'> 1
列表單個元素賦值
list1=[1,] print(type(list1)) a=list1 b,=list1 print(type(a)) print(a) print(type(b)) print(b) <class 'list'> <class 'list'> [1] <class 'int'> 1
函數(shù)返回一個元組作為返回值
def min_max(list1): # 這樣直接返回多個值是返回元組 # 所以是不是可以想做無論是接收值和返回值,默認(rèn)是看做元組的 # 所以無論是返回值和賦值都可以這樣操作 return min(list1),max(list1)
ans=min_max([28,43,23,4233,435,2,543,23,67,98]) print(type(ans)) print(ans) <class 'tuple'> (2, 4233)
補充:Python 給多個變量同時賦值
#給多個變量賦值 data=[‘a(chǎn)lex',84,[1900,3,38]] name,age,birth=data print(name) print(age) print(birth) msg=‘hello' a,b,c,d,e=msg print(a,b,c,d,e) msg=‘hello' a,(下劃線),(下劃線),(下劃線),b=msg print(a) print(b) #只給第一個和最后一個變量賦值 a,*(下劃線),b=msg print(a,b)
總結(jié)
到此這篇關(guān)于python返回多個值與賦值多個值的文章就介紹到這了,更多相關(guān)python返回與賦值多個值內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Python數(shù)據(jù)分析:pandas中Dataframe的groupby與索引用法
這篇文章主要介紹了pandas中Dataframe的groupby與索引用法,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2024-02-02使用Keras預(yù)訓(xùn)練好的模型進行目標(biāo)類別預(yù)測詳解
這篇文章主要介紹了使用Keras預(yù)訓(xùn)練好的模型進行目標(biāo)類別預(yù)測詳解,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-06-06Python調(diào)用高德API實現(xiàn)批量地址轉(zhuǎn)經(jīng)緯度并寫入表格的功能
這篇文章主要介紹了Python調(diào)用高德API實現(xiàn)批量地址轉(zhuǎn)經(jīng)緯度并寫入表格的功能,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2021-01-01使用Python機器學(xué)習(xí)降低靜態(tài)日志噪聲
今天小編就為大家分享一篇關(guān)于使用Python和機器學(xué)習(xí)的靜態(tài)日志噪聲的文章,小編覺得內(nèi)容挺不錯的,現(xiàn)在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧2018-09-09Python利用PsUtil實現(xiàn)實時監(jiān)控系統(tǒng)狀態(tài)
PSUtil是一個跨平臺的Python庫,用于檢索有關(guān)正在運行的進程和系統(tǒng)利用率(CPU,內(nèi)存,磁盤,網(wǎng)絡(luò),傳感器)的信息。本文就來用PsUtil實現(xiàn)實時監(jiān)控系統(tǒng)狀態(tài),感興趣的可以跟隨小編一起學(xué)習(xí)一下2023-04-04詳解Python手寫數(shù)字識別模型的構(gòu)建與使用
這篇文章主要為大家詳細(xì)介紹了Python中手寫數(shù)字識別模型的構(gòu)建與使用,文中的示例代碼簡潔易懂,對我們學(xué)習(xí)Python有一定的幫助,需要的可以參考一下2022-12-12