課程
/后端開發
/Python
/初識Python
為什么 print x[0] + ':', x[1] 會是成原來的成對的,為什么不會出現 Adam:59 之類隨便組合數字呢,是因為是Tuple嗎
2016-04-05
源自:初識Python 6-9
正在回答
s = set([('Adam', 95), ('Lisa', 85), ('Bart', 59)])
for x in s:
? ? print x[0] + ':', x[1]
首先理解這里for?x in s ? 中的x是指set的每一個元素——第一個元素:('Adam', 95)第二個: ('Lisa', 85)第三個:('Bart', 59)
而代碼print x[0] + ':', x[1]中 的x[0]是指 list x 中的所有第一個元素即?分別為‘Adam’ ‘Lisa’ ‘Bart’?
x[1]是指 list x 中的所有第二個元素即 分別為95 85 59
這樣就一一對應啦,并不是因為是tuple~
qq_九曜_03116704 提問者
Miss_Artka
Miss_Artka 回復 qq_九曜_03116704 提問者
Oscar_Yang
Miss_Artka 回復 Oscar_Yang
qq_九曜_03116704 提問者 回復 Miss_Artka
剛開始接觸這個確實容易 被這種嵌套的東西擾亂。我們把代碼貼出來,慢慢講:
s?=?set([('Adam',?95),?('Lisa',?85),?('Bart',?59)]) for?x?in?s: ????print?x[0],':',x[1]
這里的s 就是一個,以 3個元組為元素的 set(集合). 即:
s?=?{('Bart',?59),?('Lisa',?85),?('Adam',?95)}
而,賦值語句下面那個 for 循環的話, 每次x的值 其實就是 集合中的 某一個元組,比如說:
for?x?in?s: ????print?x
##??這樣的話?輸出如下(不一定是這樣的順序,因為?集合是無序的): ('Bart',?59) ('Lisa',?85) ('Adam',?95)
所以你 代碼中的最后一句:
print?x[0],':',x[1]? ##?x[0]?就是?元組的第一個元素??某個名字,?x[1]?就是元組的第二個元素?分數?了。
舉報
學python入門視頻教程,讓你快速入門并能編寫簡單的Python程序
Copyright ? 2025 imooc.com All Rights Reserved | 京ICP備12003892號-11 京公網安備11010802030151號
購課補貼聯系客服咨詢優惠詳情
慕課網APP您的移動學習伙伴
掃描二維碼關注慕課網微信公眾號
2016-04-06
s = set([('Adam', 95), ('Lisa', 85), ('Bart', 59)])
for x in s:
? ? print x[0] + ':', x[1]
首先理解這里for?x in s ? 中的x是指set的每一個元素——第一個元素:('Adam', 95)第二個: ('Lisa', 85)第三個:('Bart', 59)
而代碼print x[0] + ':', x[1]中 的x[0]是指 list x 中的所有第一個元素即?分別為‘Adam’ ‘Lisa’ ‘Bart’?
x[1]是指 list x 中的所有第二個元素即 分別為95 85 59
這樣就一一對應啦,并不是因為是tuple~
2016-04-06
剛開始接觸這個確實容易 被這種嵌套的東西擾亂。我們把代碼貼出來,慢慢講:
這里的s 就是一個,以 3個元組為元素的 set(集合). 即:
而,賦值語句下面那個 for 循環的話, 每次x的值 其實就是 集合中的 某一個元組,比如說:
所以你 代碼中的最后一句: