第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

理解序列解包:為什么使用 set 會拋出“SyntaxError:無法分配給文字”?

理解序列解包:為什么使用 set 會拋出“SyntaxError:無法分配給文字”?

慕妹3146593 2021-09-25 16:31:16
我是python初學(xué)者。我最近了解到列表和元組允許賦值。## 1)a=[1,2,3,4][j,c,d,f] = aprint (j)  # prints 1## 2)t=(6,7,8,9)(s1,s2,s3,s4) = tprint (s1)  # prints 6## 3)m={11,12,13}{s,d,c}=mprint(s)     #Gives error我無法理解這種行為。為什么與 set 的類似操作會出錯。此外,字典也可以進(jìn)行類似的操作?請幫助和解釋。
查看完整描述

2 回答

?
慕虎7371278

TA貢獻(xiàn)1802條經(jīng)驗 獲得超4個贊

您在列表和元組中看到的行為稱為可迭代解包,用于將任何序列中的值解包為變量(只要左側(cè)的變量與右側(cè)的變量一樣多——除非您使用擴(kuò)展的可迭代開箱)。


給定的


a = [1, 2, 3, 4]

b = (1, 2, 3, 4)

c = {1, 2, 3, 4}

以下是所有有效的操作:


e, f, g, h = a

# Equivalent to

# (e, f, g, h) = a

# Also equivalent to, but slightly different than

# [e, f, g, h] = a

w, x, y, z = b

p, q, r, s = c

但是,集合不支持該語法,因為它們沒有任何固有的順序(至少在 python3.6 之前沒有)。所以,


{p, q, r, s} = a

是無效語法 ( SyntaxError: can't assign to literal) 因為python 的語法規(guī)范不支持它。


查看完整回答
反對 回復(fù) 2021-09-25
  • 2 回答
  • 0 關(guān)注
  • 248 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號