第010講:列表:一個打了激素的陣列1 | 學習記錄(小甲魚零基礎入門學習Python)
(標答出處: 魚C論壇)
《零基礎入門學習Python》
基礎題:
測試題:
-
列表都可以存放一些什麼東西?
列表可以存放整型數字,字串,浮點型數字,還有列表
-
向列表增加元素有哪些方法?
append() 新增單個元素
extend () 新增多個元素
inset () 在制定位置插入元素 -
append() 方法和 extend() 方法都是向列表的末尾增加元素,請問他們有什麼區別?
append() 一次只能新增單個元素,而extend () 一次可以新增多個元素
-
member.append([‘竹林小溪’, ‘Crazy迷戀’]) 和 member.extend([‘竹林小溪’, ‘Crazy迷戀’]) 實現的效果一樣嗎?
不一樣, append一次新增的是一個引數,所以他會把兩個合併成一個新的小列表,載入member列表中,而 extend則是分為兩個元素新增在其中。
-
有列表 name = [‘F’, ‘i’, ‘h’, ‘C’],如果小甲魚想要在元素 ‘i’ 和 ‘h’ 之間插入元素 ‘s’,應該使用什麼方法來插入?
使用insert(2,‘s’)來插入,在name[2]處新增‘s’
動動手:
- 自己動手試試看,並分析在這種情況下,向列表新增資料應當採用哪種方法比較好?
假設給定以下列表:
member = [‘小甲魚’, ‘黑夜’, ‘迷途’, ‘怡靜’, ‘秋舞斜陽’]
要求將列表修改為:
member = [‘小甲魚’, 88, ‘黑夜’, 90, ‘迷途’, 85, ‘怡靜’, 90, ‘秋舞斜陽’, 88]
方法一:使用 insert() 和 append() 方法修改列表。
>>> member.insert(1,80);member.insert(3,90);member.insert(5,85);member.insert(7,90);member.append(80)
方法二:重新建立一個同名字的列表覆蓋。
>>> member = ['小甲魚',80,'黑夜',90,'迷途',85,'怡靜',90,'秋舞斜陽',88]
- 利用 for 迴圈列印上邊 member 列表中的每個內容,如圖:
>>> for i in member:
print (i)
- 上一題列印的樣式不是很好,能不能修改一下程式碼列印成下圖的樣式呢?【請至少使用兩種方法實現】
member = ['小甲魚', 88, '黑夜', 90, '迷途', 85, '怡靜', 90, '秋舞斜陽', 88]
count = 0
length = len(member)
while count < length:
print(member[count], member[count+1])
count += 2
- 注意,這道題跟上節課的那道題有點兒不同,回答完請上機實驗或參考答案。
old = [1, 2, 3, 4, 5]
new = old
old = [6]
print(new)
如果不上機操作,你覺得會列印什麼內容?
new = [1,2,3,4,5]
標答:
測試題答案:
本帖隱藏的內容
0. 列表都可以存放一些什麼東西?
我們說 Python 的列表是一個打了激素的陣列,如果把陣列比喻成集裝箱,那麼 Python 的列表就是一個大倉庫,Ta 可以存放我們已經學習過的任何資料型別。
mix = [1, ‘小甲魚’, 3.14, [1, 2, 3]]
- 向列表增加元素有哪些方法?
這節課我們教過大家三種方法想列表增加元素,分別是:append()、extend() 和 insert()。
- append() 方法和 extend() 方法都是向列表的末尾增加元素,請問他們有什麼區別?
append() 方法是將引數作為一個元素增加到列表的末尾。
extend() 方法則是將引數作為一個列表去擴充套件列表的末尾。
請看以下示例:
-
name = [‘F’, ‘i’, ‘s’, ‘h’]
-
name.append(‘C’)
-
name
-
[‘F’, ‘i’, ‘s’, ‘h’, ‘C’]
-
name.extend([’.’, ‘c’])
-
name
-
[‘F’, ‘i’, ‘s’, ‘h’, ‘C’, ‘.’, ‘c’]
-
name.append([‘o’, ‘m’])
-
name
-
[‘F’, ‘i’, ‘s’, ‘h’, ‘C’, ‘.’, ‘c’, [‘o’, ‘m’]]
複製程式碼 -
member.append([‘竹林小溪’, ‘Crazy迷戀’]) 和 member.extend([‘竹林小溪’, ‘Crazy迷戀’]) 實現的效果一樣嗎?
不一樣,因為怕大家沒有仔細看上一題的示例,所以不懂的請看上一題解釋。
- 有列表 name = [‘F’, ‘i’, ‘h’, ‘C’],如果小甲魚想要在元素 ‘i’ 和 ‘h’ 之間插入元素 ‘s’,應該使用什麼方法來插入?
name.insert(2, ‘s’)
動動手答案:
本帖隱藏的內容
0. 自己動手試試看,並分析在這種情況下,向列表新增資料應當採用哪種方法比較好?
假設給定以下列表:
member = [‘小甲魚’, ‘黑夜’, ‘迷途’, ‘怡靜’, ‘秋舞斜陽’]
要求將列表修改為:
member = [‘小甲魚’, 88, ‘黑夜’, 90, ‘迷途’, 85, ‘怡靜’, 90, ‘秋舞斜陽’, 88]
方法一:使用 insert() 和 append() 方法修改列表。
方法二:重新建立一個同名字的列表覆蓋。
解答:
方法一:
- member.insert(1, 88)
- member.insert(3, 90)
- member.insert(5, 85)
- member.insert(7, 90)
- member.append(88)
方法二:
- member = [‘小甲魚’, 88, ‘黑夜’, 90, ‘迷途’, 85, ‘怡靜’, 90, ‘秋舞斜陽’, 88]
複製程式碼
對於這種情況,明顯是第二種方法看起來要好一些嘛。
不過對於大型的列表,第一種方法可能更合適,所以我們說永遠沒有最好的,只有最合適的。
- 利用 for 迴圈列印上邊 member 列表中的每個內容
member = ['小甲魚', 88, '黑夜', 90, '迷途', 85, '怡靜', 90, '秋舞斜陽', 88] for each in member: print(each)
- 上一題列印的樣式不是很好,能不能修改一下程式碼列印成下圖的樣式呢?【請至少使用兩種方法實現】
方法一:
count = 0
length = len(member)
while count < length:
print(member[count], member[count+1])
count += 2
member = ['小甲魚', 88, '黑夜', 90, '迷途', 85, '怡靜', 90, '秋舞斜陽', 88]
for each in member:
print(each)
複製程式碼
4. 注意,這道題跟上節課的那道題有點兒不同,回答完請上機實驗或參考答案。
old = [1, 2, 3, 4, 5]
new = old
old = [6]
print(new)
如果不上機操作,你覺得會列印什麼內容?