FishC筆記 13 講 元組 戴上枷鎖的列表

2021-07-28 12:54:20 字數 2054 閱讀 8239

本期內容詳解:

由於和列表是近親關係,所以元組和列表在實際使用上是非常相似的。

通過以下幾點進行討論學習:

1、型別不可改變

2、可以對元組進行操作的操作符:

拼接操作符:+

重複操作符:*

成員操作符:in/ not in

關係操作符:> <

邏輯操作符:and or

3、元組的建立和訪問:逗號是關鍵,建立空元組可寫成temp = (),建立只有乙個元素的元組可寫成temp = (1,)或temp = 1,

典型課後題

請用一句話描述什麼是列表?再用一句話描述什麼是元組?

列表:乙個大倉庫,你可以隨時往裡邊新增和刪除任何東西。

元組:封閉的列表,一旦定義,就不可改變(不能新增、刪除或修改)。

什麼情況下你需要使用元組而不是列表?

當我們希望內容不被輕易改寫的時候,我們使用元組(把權力關進牢籠)。

當我們需要頻繁修改資料,我們使用列表。

當元組和列表掉下水,你會救誰?

如果是我,我會救列表,因為列表提供了比元組更豐富的內建方法,這相當大的提高了程式設計的靈活性。

回頭來看下元組,元組固然安全,但元組一但建立就無法修改(除非通過新建乙個元組來間接修改,但這就帶來了消耗),而我們人是經常搖擺不定的,所以元組只有在特殊的情況才用到,平時還是列表用的多。

請將下圖左邊列表的內建方法與右邊的注釋連線,並圈出元組可以使用的方法。

答:

元組僅有兩個方法元組可以使用,其他方法都不行

建立乙個元組,什麼情況下逗號和小括號必須同時存在,缺一不可?

在拼接只有乙個元素的元組的時候,例如我們課上舉的例題:

>>> temp = (『小甲魚』, 『黑夜』, 『迷途』, 『小布丁』)  

# 如果我想在「黑夜」和「迷途」之間插入「怡靜」,我們應該:

>>> temp = temp[:2] + (『怡靜』,) + temp[2:]

x, y, z = 1, 2, 3 請問x, y, z是元組嗎?

所有的多物件的、逗號分隔的、沒有明確用符號定義的這些集合預設的型別都是元組。

請寫出以下情景中應該使用列表還是元組來儲存資料:

1)列表 ;2)元組; 3)列表; 4)元組; 5)元組; 6)列表

上節課我們通過課後作業的形式學習到了「列表推導式」,那請問如果我把中括號改為小括號,會不會得到「元組推導式」呢?

python3 木有「元組推導式」,為嘛?沒必要丫,有了「列表推導式」已經足夠了。

那為什麼以下形式不會報錯?

>>> tuple1 = (x**2

for x in

range(10))

因為你誤打誤撞得到了乙個生成器:

>>> type

(tuple1)

關於生成器的概念小甲魚今後會細講,你可以嘗試這麼去訪問我們剛剛的生成器:

# 注意,python3 開始 next() 方法改為 __next__() 哦~  

>>> tuple1.__next__()

0 >>> tuple1.__next__()

1 >>> tuple1.__next__()

4 >>> tuple1.__next__()

9 >>> tuple1.__next__()

16

>>> tuple1.__next__()

25

>>> tuple1.__next__()

36

FishC筆記 16 講 序列,序列

本期內容詳解 列表 元組和字串的共同點 一些重要的bif 1 list 把乙個可迭代的物件轉換為列表 2 tuple iterable 把乙個可迭代的物件轉化為元組 3 str obj 把obj物件轉化為字串 4 max min 返回序列或者引數集合中的最大或最小值 5 sum iterable s...

FishC筆記 18 講 函式 靈活即強大

本期內容詳解 1 分清楚形參和實參 2 函式文件 是函式的一部分,於解釋不同,使用help 函式名 或者 函式名 doc 可以檢視到 3 關鍵字引數 在乙個函式的引數較多的時候作用比較明顯 給引數的名字下定義,例如 def f name,words 如下兩種引用的方法是等價的 f a,b f wor...

FishC筆記 04 講 改進我們的小遊戲

這節課主要學習了if else和 while的用法 重要的是 1.別忘記加冒號了 2.縮排 是python的靈魂 典型課後題 請寫出與 10 cost 50 等價的表示式 cost 10 and cost 50 python3 中,一行可以書寫多個語句嗎?可以,多個語句用分號隔開 python3 中...