第010講:列表:一個打了激素的數組1(課后測試題及答案)


一、列表可以存放的內容

 列表可以存放哪些類型?

列表是一個發倉庫,所學過的所有類型,都可以放在列表里面。

二、創建列表

空列表

>>> 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. 請寫下這一節課你學習到的內容:格式不限,回憶並復述是加強記憶的好方
式!


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM