第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. 请写下这一节课你学习到的内容:格式不限,回忆并复述是加强记忆的好方
式!

原文地址:https://www.cnblogs.com/ananmy/p/12082887.html