欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Python解壓可迭代對(duì)象賦值給多個(gè)變量詳解

 更新時(shí)間:2021年12月03日 16:12:48   作者:Abu11  
這篇文章主要為大家介紹了Python賦值多個(gè)變量,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來幫助

問題描述

現(xiàn)在有一個(gè)包含N個(gè)元素的可迭代對(duì)象,怎樣把它里面的元素解壓后同時(shí)賦值給N個(gè)變量?怎樣同時(shí)賦值給M個(gè)變量(M<N)?

解決方案

1.將N個(gè)元素賦值給N個(gè)變量,可以通過如下一個(gè)簡(jiǎn)單的賦值語句實(shí)現(xiàn)。

p = [4, 5]
x, y = p
print(x, y)
# 輸出結(jié)果:4 5
data = ['Test', 1, 3.14, (2021, 12, 1)]
a, b, c, d = data
print(a, b, c, d)
# 輸出結(jié)果:Test 1 3.14 (2021, 12, 1)
a, b, c, (year, month, day) = data
print(a, b, c, year, month, day)
# 輸出結(jié)果:Test 1 3.14 2021 12 1

2.如何將N個(gè)元素賦值給M個(gè)變量(M<N)?

當(dāng)變量的個(gè)數(shù)少于可迭代對(duì)象元素的個(gè)數(shù)時(shí),程序會(huì)拋出ValueError。這時(shí),可以用Python的星號(hào)表達(dá)式來解決。

data = [1, 2, 3, 4, 5]
a, b, *c, d = data
print(a, b, c, d)
# 輸出結(jié)果:1 2 [3, 4] 5

需要注意的是上面解壓出的c變量永遠(yuǎn)是list類型,不管c的元素有幾個(gè)(包括0個(gè))。

總結(jié)

迭代解壓語法的幾個(gè)應(yīng)用場(chǎng)景:

1.任何可迭代對(duì)象都可以實(shí)現(xiàn)這種解壓賦值,包括列表、元組、字符串、文件對(duì)象、迭代器和生成器。

比如:

s = 'hello'
a, b, c, d, e = s
print(a, b, c, d, e)

# 輸出結(jié)果:h e l l o

2.有時(shí)候,你想解壓一些元素后丟棄它們,可以使用一個(gè)普通的廢棄名稱,比如_或者ign(ignore)。

record = ('ACME', 50, 123.45, (12, 18, 2012))
name, *_, (*_, year) = record
print(name, year)

"""
輸出結(jié)果:
ACME 2012
"""

3.迭代元素為可變長(zhǎng)元組的序列:

records = [
	('foo', 1, 2),
	('bar', 'hello'),
	('foo', 3, 4),
]

def print_foo(x, y):
	print('foo', x, y)

def print_bar(s):
	print('bar', s)

for tag, *args in records:
	if tag == 'foo':
		print_foo(*args)
	elif tag == 'bar':
		print_bar(*args)

"""
輸出結(jié)果:
foo 1 2
bar hello
foo 3 4
"""

4.字符串的分割

line = 'nobody:*:-2:-2:Unprivileged User:/var/empty:/usr/bin/false'
uname, *field, homedir, sh = line.split(':')
print(uname, homedir, sh)

"""
輸出結(jié)果:
nobody /var/empty /usr/bin/false
"""

本篇文章就到這里了,希望能夠給你帶來幫助,也希望您能夠多多關(guān)注腳本之家的更多內(nèi)容!

相關(guān)文章

  • 圖文詳解matlab原始處理圖像幾何變換

    圖文詳解matlab原始處理圖像幾何變換

    Matlab 擅長(zhǎng)于操作矩陣,而圖像其實(shí)就是矩陣,這篇文章主要給大家介紹了關(guān)于matlab原始處理圖像幾何變換的相關(guān)資料,需要的朋友可以參考下
    2021-07-07
  • 利用Python將多張圖片合成視頻的實(shí)現(xiàn)

    利用Python將多張圖片合成視頻的實(shí)現(xiàn)

    這篇文章主要介紹了利用Python將多張圖片合成視頻的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-11-11
  • python循環(huán)監(jiān)控遠(yuǎn)程端口的方法

    python循環(huán)監(jiān)控遠(yuǎn)程端口的方法

    這篇文章主要介紹了python循環(huán)監(jiān)控遠(yuǎn)程端口的方法,涉及Python實(shí)現(xiàn)端口監(jiān)控的技巧,需要的朋友可以參考下
    2015-03-03
  • 基于PyQT5制作一個(gè)課堂點(diǎn)名系統(tǒng)

    基于PyQT5制作一個(gè)課堂點(diǎn)名系統(tǒng)

    這篇文章主要為大家介紹一個(gè)基于PyQt5實(shí)現(xiàn)的抖音同款課堂點(diǎn)名系統(tǒng),文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起動(dòng)手試一試
    2022-02-02
  • 詳解tf.device()指定tensorflow運(yùn)行的GPU或CPU設(shè)備實(shí)現(xiàn)

    詳解tf.device()指定tensorflow運(yùn)行的GPU或CPU設(shè)備實(shí)現(xiàn)

    這篇文章主要介紹了詳解tf.device()指定tensorflow運(yùn)行的GPU或CPU設(shè)備實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-02-02
  • python OpenCV學(xué)習(xí)筆記直方圖反向投影的實(shí)現(xiàn)

    python OpenCV學(xué)習(xí)筆記直方圖反向投影的實(shí)現(xiàn)

    這篇文章主要介紹了python OpenCV學(xué)習(xí)筆記直方圖反向投影的實(shí)現(xiàn),小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2018-02-02
  • Tensorflow 查看變量的值方法

    Tensorflow 查看變量的值方法

    今天小編就為大家分享一篇Tensorflow 查看變量的值方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2018-06-06
  • python用正則表達(dá)式提取/匹配中文漢字

    python用正則表達(dá)式提取/匹配中文漢字

    在使用Python的過程中,由于需求原因,我們經(jīng)常需要在文本或者網(wǎng)頁元素中用Python正則表達(dá)式匹配中文,下面這篇文章主要給大家介紹了關(guān)于python用正則表達(dá)式提取/匹配中文漢字的相關(guān)資料,需要的朋友可以參考下
    2022-07-07
  • 解決webdriver.Chrome()報(bào)錯(cuò):Message:''chromedriver'' executable needs to be in Path

    解決webdriver.Chrome()報(bào)錯(cuò):Message:''chromedriver'' executable n

    這篇文章主要介紹了解決webdriver.Chrome()報(bào)錯(cuò):Message:'chromedriver' executable needs to be in Path ,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2019-06-06
  • 淺析python參數(shù)的知識(shí)點(diǎn)

    淺析python參數(shù)的知識(shí)點(diǎn)

    在本文里小編給大家分享的是關(guān)于python參數(shù)的知識(shí)點(diǎn)內(nèi)容,正在學(xué)習(xí)的讀者們跟著思考下吧。
    2018-12-12

最新評(píng)論