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

  • 相关阅读:
    环境变量配置1
    Golang 类型转换,断言和显式强制转换
    Goland could not launch process: decoding dwarf section info at offset 0x0: too short 解决方案
    用puttygen工具把私钥id_rsa转换成公钥id_rsa.ppk
    JetBrains GoLand 2018 激活码/ 注册码(最新破解方法)
    Go学习笔记(只有链接)
    linux中的ftp命令
    Linux的学习之路
    like语句百分号前置会使用到索引吗?
    记录下每月生活开支
  • 原文地址:https://www.cnblogs.com/ananmy/p/12082887.html
Copyright © 2020-2023  润新知