城堡的大門
隨著小魚和魔法師的深入,他們來到了一個古老的廢棄城堡。城堡的大門上掛著一個巨大的鎖,而鎖的旁邊有一排小抽屜,每個抽屜里都有一個物品。
魔法師對小魚說:“這是一個古老的魔法寶箱,小魚。為了打開這扇門,我們需要正確地組合這些物品。在Python的魔法世界中,我們使用列表和元組來存儲和組合多個物品?!?/p>
小魚:列表和元組?
魔法師繼續(xù)說:“列表就像這些抽屜,你可以在其中放入任何物品,并隨時添加或刪除。而元組,就像一個封閉的魔法袋,一旦你放入物品,就不能再更改它?!?/p>
小魚仔細地觀察每個抽屜,然后說:“我看到每個抽屜上都有一個數(shù)字,這是不是它們的位置?”
魔法師點了點頭:“正是如此,這就是列表中的索引。每個物品在列表中都有一個唯一的位置,從0開始計數(shù)。所以,第一個物品的索引是0,第二個物品的索引是1,以此類推。接下來讓我詳細給你講講?!?/p>
列表與元組是一種能讓你組織和管理數(shù)據(jù)的超能力!
1.創(chuàng)建列表
想象一下,你有三個神奇魔法球。在Python中,我們可以用方括號[]來創(chuàng)建一個列表,像這樣:
magic_balls = ["紅球", "藍球", "綠球"]
print("我有以下神奇魔法球:", magic_balls)
這段代碼告訴計算機:“我有三個神奇魔法球,它們分別是紅球、藍球和綠球。請把它們列出來!”。計算機聽懂了,會把列表中的魔法球展示出來。
2.添加和刪除
當你獲得了新的寶物,你可以把它添加到列表中。就像撿到一顆閃閃發(fā)光的寶石:
magic_balls.append("閃亮寶石")
print("我有以下神奇魔法球:", magic_balls)
# 輸出:['紅球', '藍球', '綠球', '閃亮寶石']
這段代碼告訴計算機:“我撿到了一顆閃亮寶石,加入到我的魔法球列表中!”。計算機聽懂了,會把新的寶物添加到列表末尾。
當你覺得某個寶物已經(jīng)不再神奇,你可以把它從列表中移除。就像將一個有瑕疵的魔法藥水丟掉:
magic_balls.remove("紅球")
print("我有以下神奇魔法球:", magic_balls)
# 輸出:['藍球', '綠球', '閃亮寶石']
這段代碼告訴計算機:“把那個不神奇的紅球從我的列表中去掉!”。計算機聽懂了,會把紅球從列表中刪除。
3.訪問列表元素
每個元素在列表中都有一個唯一的位置,稱為索引。索引從0開始計數(shù),與字符串下標位置類似。
例如:
magic_balls=['藍球', '綠球', '閃亮寶石']
print("第一個元素是:"+magic_balls [0]) # 輸出:藍球
print("第二個元素是:"+magic_balls [1]) # 輸出:綠球
- 要訪問第一個元素(“藍球”),你可以使用 magic_balls [0]。
- 要訪問第二個元素(“綠球”),你可以使用 magic_balls [1]。
4.交換列表元素位置
交換列表中兩個元素的位置是一個常見的操作。這通常需要使用一個臨時變量來完成,但在Python中,我們可以使用一個簡潔的方法來交換兩個元素。
例如,要交換上面列表中的"藍球"和"綠球",你可以這樣做:
magic_balls [0], magic_balls [1] = magic_balls [1], magic_balls [0]
這行代碼的意思是,將magic_balls [0]和magic_balls [1]的值交換。執(zhí)行這行代碼后,列表變?yōu)椋?/p>
['綠球', '藍球', '閃亮寶石']
這種交換方法非常簡潔,不需要額外的臨時變量,是Python中的一個很酷的特性。
5.創(chuàng)建元組
元組是另一種神奇的數(shù)據(jù)類型,類似于列表,但它具有超能力,不可修改。讓我們來感受一下元組的魔法:
元組使用圓括號()來定義,而不是列表使用的方括號[]:
#定義一個元組
colors = ("紅", "綠", "藍")
假設你要記錄一場魔法比賽的得分,而且這些得分是不會改變的。你可以使用元組來創(chuàng)建一個得分記錄:
scores = (98, 87, 95, 91, 100)
print("魔法比賽的得分記錄:", scores)
這段代碼告訴計算機:“這是一場魔法比賽的得分記錄,分數(shù)分別是98、87、95、91和100?!薄S嬎銠C聽懂了,會把這些分數(shù)展示出來。
元組的最大特點是它的不可變性。這意味著一旦你創(chuàng)建了一個元組,你就不能修改它。這與列表是不同的,列表是可以修改的。
例如,以下操作在列表中是合法的,但在元組中會引發(fā)錯誤:
# 對于列表
fruits = ["蘋果", "香蕉", "櫻桃"]
fruits[1] = "芒果" # 把香蕉改為芒果,這是允許的
# 對于元組
colors = ("紅", "綠", "藍")
colors[1] = "黃" # 這會引發(fā)錯誤
6.訪問元組元素
元組雖然不能修改,但你可以使用索引來訪問其中的值,位置仍然是從0開始。比如,你想知道第三場比賽的得分:
third_score = scores[2]
print("第三場比賽的得分是:", third_score)
這段代碼告訴計算機:“我想知道第三場比賽的得分是多少!”。計算機聽懂了,會告訴你正確的分數(shù)。
通過列表,你可以管理寶物,隨時添加或刪除;通過元組,你可以記錄不變的數(shù)據(jù),而且可以方便地查找。
聽魔法師講解完后,小魚兩眼放光。只見小魚迅速地創(chuàng)建了一個列表,記錄下了每個抽屜中的物品:
items = ["蘋果", "香蕉", "櫻桃", "火龍果"]
突然,小魚注意到地上有一張舊紙片,上面寫著:“當火龍果在香蕉之前,大門將為你打開?!彼庾R到這是一個線索!
小魚迅速地使用了列表的元素交換魔法來完成這個任務:
# 交換物品的位置
items[1], items[3] = items[3], items[1]
print(items) # 輸出:['蘋果', '火龍果', '櫻桃', '香蕉']
隨著代碼的執(zhí)行,巨大的鎖發(fā)出了響聲,慢慢地打開了,城堡的大門也隨之打開。
兩人走進了城堡。
魔法盒之迷
當小魚和魔法師進入城堡后,他們在一個古老的房間中發(fā)現(xiàn)了一個巨大的魔法盒,盒子的上方有幾個凹槽。房間的另一側有一個陳列臺,上面擺放著各種形狀的魔法物品。
魔法師解釋說:“這個魔法盒是古代魔法師用來存儲強大魔法的地方。為了保護魔法,他們設計了一個謎題。我們需要從陳列臺上選擇正確的物品,并按照特定的順序放入魔法盒的凹槽中,才能解鎖盒子并獲得里面的魔法?!?/p>
小魚注意到陳列臺上的物品與魔法盒的凹槽大小都能匹配,但他不確定應該如何選擇和排序。這時,他想到了列表和元組的知識。
他迅速地創(chuàng)建了一個列表,記錄下了他認為應該放入魔法盒中的物品:
# 創(chuàng)建一個列表
items_to_use = ["紅寶石", "鑰匙", "綠寶石戒指", "金幣"]
為了能夠確定物品如何排序,小魚繼續(xù)在房間中尋找線索。這時,小魚注意到墻上有一幅古老的壁畫。壁畫上描繪了四個物品:一個金幣、一把鑰匙、一個紅寶石和一個綠寶石戒指。這四個物品與陳列臺上的物品完全匹配。但更為重要的是,壁畫的下方有一段古老的魔法歌謠:
銀光閃爍的匙,首先照亮了路;
紅寶石的火焰,緊隨其后;
金幣的光芒,為你指明方向;
綠寶石的戒指,守護著最后的希望。
小魚仔細地讀了這段歌謠,并迅速地意識到這是解開魔法盒之謎的關鍵。歌謠中描述的物品順序與他最初的想法是不同的。
他迅速地調整了物品的順序:
# 根據(jù)魔法歌謠調整物品的順序
items_to_use[0], items_to_use[1] = items_to_use[1], items_to_use[0]
items_to_use[2], items_to_use[3] = items_to_use[3], items_to_use[2]
這段代碼將紅寶石和鑰匙交換位置,綠寶石戒指和金幣交換位置。
然后,為了確保這個順序不會被打亂,他使用元組來固定這個順序:
# 創(chuàng)建一個元組,固定物品的順序
final_order = tuple(items_to_use)
print(final_order) #輸出:('鑰匙', '紅寶石', '金幣', '綠寶石戒指')
這段代碼將列表items_to_use轉為一個元組。
小魚按照這個順序,將物品放入魔法盒的凹槽中。隨著最后一個物品的放入,魔法盒發(fā)出了一道光芒,然后緩緩打開,里面的光芒逐漸散去,小魚和魔法師看到了一個閃閃發(fā)光的魔法碎片,它散發(fā)出溫暖的光芒,仿佛有生命一般。小魚小心翼翼地拿起魔法碎片,感受到了一股強大的魔法力量。
魔法師微笑地說:“這是一個非常古老的魔法碎片,它擁有強大的魔法能量。你通過解開魔法盒的謎題,證明了你已經(jīng)掌握了列表和元組的知識,這個魔法碎片是你的獎勵?!?/p>
小魚高興地說:“謝謝你,魔法師!我會繼續(xù)努力,學習更多的編程知識?!?/p>
魔法師點點頭:“你做得很好,小魚。前方還有更多的挑戰(zhàn)等待著你。每次你學會一個新的知識點,都會有一個新的魔法碎片等待著你。”
小魚充滿信心地說:“我不怕,我會繼續(xù)努力,學習所有的編程知識,收集所有的魔法碎片?!?mark hidden color="red">文章來源:http://www.zghlxwxcb.cn/news/detail-706829.html
魔法師微笑地看著小魚:“我相信你,小魚?,F(xiàn)在,讓我們繼續(xù)前進,探索更多的魔法世界?!?span toymoban-style="hidden">文章來源地址http://www.zghlxwxcb.cn/news/detail-706829.html
到了這里,關于《Python魔法大冒險》010 魔法寶箱:列表與元組的探險的文章就介紹完了。如果您還想了解更多內容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網(wǎng)!