一、列表可以存放的內容
列表可以存放哪些類型?
列表是一個發倉庫,所學過的所有類型,都可以放在列表里面。
二、創建列表
空列表:
>>> number = []
>>> number
[]
>>>
普通列表:
>>> name = ['lili','lulu','nana']
>>> name
['lili', 'lulu', 'nana']
混合列表:
>>> mix = [1,2,3,'polo',[11,6,7],(3.14,)]
>>> mix
[1, 2, 3, 'polo', [11, 6, 7], (3.14,)]
>>>
三、向列表中添加元素
1.append() :默認在列表末尾追加新的對象。即將參數作為一個元素增加到列表尾部。(append的參數只有一個,append一次只能添加一個元素)
>>> mix
[1, 2, 3, 'polo', [11, 6, 7], (3.14,)]
>>> mix.append(9)
>>> mix
[1, 2, 3, 'polo', [11, 6, 7], (3.14,), 9]
>>> mix.append('doudou')
>>> mix
[1, 2, 3, 'polo', [11, 6, 7], (3.14,), 9, 'doudou']
>>>
2.extend():在列表的尾部一次性追加另一個序列中的多個值,即將參數作為一個列表去擴展原列表。
>>> mix
[1, 2, 3, 'polo', [11, 6, 7], (3.14,), 9, 'doudou']
>>> mix.extend([5,6,'hello'])
>>> mix
[1, 2, 3, 'polo', [11, 6, 7], (3.14,), 9, 'doudou', 5, 6, 'hello']
>>> len(mix)
11
>>>
注意:extend()也可以在列表尾部插入一個元素
>>> a
[1, 3, 4, [5, 7, 9]]
>>> a.extend('0')
>>> a
[1, 3, 4, [5, 7, 9], '0']
>>>
3.insert():有2個參數,第一個參數是待插入的位置,第二個參數是在該待插入位置,插入的值。
>>> mix
[1, 2, 3, 'polo', [11, 6, 7], (3.14,), 9, 'doudou', 5, 6, 'hello']
>>> mix.insert(2,'python')
>>> mix
[1, 2, 'python', 3, 'polo', [11, 6, 7], (3.14,), 9, 'doudou', 5, 6, 'hello']
>>>
課后習題:
1. 向列表增加元素有哪些方法?
append()、extend() 和 insert()。
2.append() 方法和 extend() 方法都是向列表的末尾增加元素,請問他們有什么區別?
兩者在很多情況下可以通用,但是一個大的區別在處理列表元素時:
示例:
>>> a = [1,3,4]
>>> b = [5,7,9]
>>> a.append(b)
>>> a
[1, 3, 4, [5, 7, 9]]
>>>
>>> a
[1, 3, 4, [5, 7, 9], '0']
>>> a.extend([9,8,6])
>>> a
[1, 3, 4, [5, 7, 9], '0', 9, 8, 6]
>>>
從上例可以看出明顯的區別。即append一次只能添加一個元素,而extend方法可以添加多個元素,但是多個元素必
須用[ ]括起來。另外還有一個insert()方法,可以指定在列表中插入的位置。
參考答案:
append() 方法是將參數作為一個元素增加到列表的末尾。
extend() 方法則是將參數作為一個列表去擴展列表的末尾。
3. member.append(['竹林小溪', 'Crazy迷戀']) 和 member.extend(['竹林小溪', 'Crazy迷戀']) 實現的效果一樣嗎?
>>> member = [1,2,'polo','lili','Jones']
>>> member.append(['竹林小溪', 'Crazy迷戀'])
>>> member
[1, 2, 'polo', 'lili', 'Jones', ['竹林小溪', 'Crazy迷戀']]
>>> member.extend(['竹林小溪', 'Crazy迷戀'])
>>> member
[1, 2, 'polo', 'lili', 'Jones', ['竹林小溪', 'Crazy迷戀'], '竹林小溪', 'Crazy迷戀']
>>>
4. 有列表 name = ['F', 'i', 'h', 'C'],如果小甲魚想要在元素 'i' 和 'h' 之間插入元素 's',應該使用什么方法來插入?
>>> name = ['F','i','s','c']
>>> name.insert(3,'h')
>>> name
['F', 'i', 's', 'h', 'c']
>>>
動動手:
0. 自己動手試試看,並分析在這種情況下,向列表添加數據應當采用哪種方法
比較好?
假設給定以下列表:
member = [' 小甲魚 ', ' 黑夜 ', '迷途', ' 怡靜', ' 秋舞斜陽 ']
要求將列表修改為:
member = [' 小甲魚 ', 88, ' 黑夜 ', 90, ' 迷途 ', 85, ' 怡靜', 90, ' 秋舞斜陽 ', 88]
方法一:使用 insert() 和 append() 方法修改列表。
>>> member = ['polo', 'lili', 'Jones','Lucy','Emma','David']
>>> member.insert(1,89)
>>> member.insert(3,94)
>>> member.insert(5,85)
>>> member.insert(7,90)
>>> member.insert(9,88)
>>> member.insert(11,90) (最后一句也可以用member.append(90))
>>> member
['polo', 89, 'lili', 94, 'Jones', 85, 'Lucy', 90, 'Emma', 88, 'David', 90]
>>>
方法二:重新創建一個同名字的列表覆蓋。
>>>member = ['polo', 89, 'lili', 94, 'Jones', 85, 'Lucy', 90, 'Emma', 88, 'David', 90]
上述兩種方法,看實際情況來使用,列表簡單的時候可直接用方法二,列表復雜的情況用方法一比較好。
1. 利用 for 循環打印上邊 member 列表中的每個內容,如:
>>> member
['polo', 89, 'lili', 94, 'Jones', 85, 'Lucy', 90, 'Emma', 88, 'David', 90]
>>> for each in member:
print(each)
polo
89
lili
94
Jones
85
Lucy
90
Emma
88
David
90
>>>
2. 上一題打印的樣式不是很好, 能不能修改一下代碼打印成下圖的樣式呢? 【請
至少使用兩種方法實現】
方法一:
>>> count=0
>>> member
['polo', 89, 'lili', 94, 'Jones', 85, 'Lucy', 90, 'Emma', 88, 'David', 90]
>>> while count <= len(member):
print(member[count],member[count+1])
count += 2
polo 89
lili 94
Jones 85
Lucy 90
Emma 88
David 90
方法二:
>>> member
['polo', 89, 'lili', 94, 'Jones', 85, 'Lucy', 90, 'Emma', 88, 'David', 90]
>>> for each in range(len(member)):
if each % 2 ==0:
print(member[each],member[each+1])
polo 89
lili 94
Jones 85
Lucy 90
Emma 88
David 90
>>>
3. 請寫下這一節課你學習到的內容:格式不限,回憶並復述是加強記憶的好方
式!