zoukankan      html  css  js  c++  java
  • 010 列表1

    010 列表1

     列表:一个打了激素的数组。
    列表可以把[整数,浮点数,字符串,对象]打包起来。
     如: 
    >>> member = ['abc','qwe','dfet']
    >>> member
    ['abc', 'qwe', 'dfet']
    >>> number = [1,2,3,4,5]#普通列表
    >>> number
    [1, 2, 3, 4, 5]
    >>> mix = [1,'hello',3.1415,[1,2,3]]#混合列表
    >>> mix
    [1, 'hello', 3.1415, [1, 2, 3]]
    >>> empty = []#空列表
    >>> empty
    []
    >>> 
     
    向列表添加元素
    append()
    如:
     
    >>> member.append('hello')
    >>> member
    ['abc', 'qwe', 'dfet', 'hello']
    >>> len(member)
    4
    >>> 
     但要同时加入两个元素如: 
    >>> member.append('python','world')
    Traceback (most recent call last):
      File "<pyshell#11>", line 1, in <module>
        member.append('python','world')
    TypeError: append() takes exactly one argument (2 given)
    >>> 
     则会报错,原因是append()这个方法只能加一个元素
    同时加入两个或以上元素需要用到这个方法:
    extend()
    如:
     
    >>> member.extend('python','world')
    Traceback (most recent call last):
      File "<pyshell#13>", line 1, in <module>
        member.extend('python','world')
    TypeError: extend() takes exactly one argument (2 given)
    >>> 
     但,仍然报错?why??
     extend这个方法原理是使用一个列表来扩展另一个列表,so,它的参数应该是一个列表。如: 
    >>> member.extend(['python','world'])
    >>> member
    ['abc', 'qwe', 'dfet', 'hello', 'python', 'world']
    >>> len(member)
    6
    >>> 
     成功!
     我们注意到,加入列表的元素都在原有元素的后面陈列,如果需要加入的元素位置需要比较靠前怎么办呢?以上两个方法都是把元素追加到列表末尾,因此我们需要用另一个方法:
    insert()
    这个方法有两个参数,第一个参数代表在列表中的位置,第二个参数表示在第一个参数位置上插入一个元素。如:
     
    >>> member.insert(1,'hey')
    >>> member
    ['abc', 'hey', 'qwe', 'dfet', 'hello', 'python', 'world']
    >>> 
    列表是从零开始的,所以,1这个位置在列表中是第二位 
    >>> member.insert(0,'hey')
    >>> member
    ['hey', 'abc', 'hey', 'qwe', 'dfet', 'hello', 'python', 'world']
    >>> 
     
     测试题:
       
    0. 列表都可以存放一些什么东西?
    答: all,整数,浮点数,字符串,对象
    论坛参考答案:
    我们说 Python 的列表是一个打了激素的数组,如果把数组比喻成集装箱,那么 Python 的列表就是一个大仓库,Ta 可以存放我们已经学习过的任何数据类型。
    >>> mix = [1, ‘小甲鱼’, 3.14, [1, 2, 3]]
    1. 向列表增加元素有哪些方法?
    答:三个方法:append(),extend(),insert()
    2. append() 方法和 extend() 方法都是向列表的末尾增加元素,请问他们有什么区别?
    答:append()只能一次添加一个元素,extend()可以通过在列表里扩展添加2个以上元素。
    论坛参考答案:
    append() 方法是将参数作为一个元素增加到列表的末尾。
    extend() 方法则是将参数作为一个列表去扩展列表的末尾。
      
    请看以下示例:
    1. >>> name = ['F', 'i', 's', 'h']
    2. >>> name.append('C')
    3. >>> name
    4. ['F', 'i', 's', 'h', 'C']
    5. >>> name.extend(['.', 'c'])
    6. >>> name
    7. ['F', 'i', 's', 'h', 'C', '.', 'c']
    8. >>> name.append(['o', 'm'])
    9. >>> name
    10. ['F', 'i', 's', 'h', 'C', '.', 'c', ['o', 'm']]
    复制代码
    3. member.append(['竹林小溪', 'Crazy迷恋']) 和 member.extend(['竹林小溪', 'Crazy迷恋']) 实现的效果一样吗? 
     答:不一样,append会把['竹林小溪', 'Crazy迷恋']作为一个元素添加进去,包括中括号。extend会把'竹林小溪', 'Crazy迷恋'两个元素添加进去。
    4. 有列表 name = ['F', 'i', 'h', 'C'],如果小甲鱼想要在元素 'i' 和 'h' 之间插入元素 's',应该使用什么方法来插入? 
    答 
    name.insert(2,'s')
    动动手:
      
    0. 自己动手试试看,并分析在这种情况下,向列表添加数据应当采用哪种方法比较好?
    假设给定以下列表:
    member = ['小甲鱼', '黑夜', '迷途', '怡静', '秋舞斜阳']
    要求将列表修改为:
    member = ['小甲鱼', 88, '黑夜', 90, '迷途', 85, '怡静', 90, '秋舞斜阳', 88]
    方法一:使用 insert() 和 append() 方法修改列表。
    方法二:重新创建一个同名字的列表覆盖。
    答:重建一个更快吧。。。。
    论坛参考答案:
    方法一:
    1. member.insert(1, 88)
    2. member.insert(3, 90)
    3. member.insert(5, 85)
    4. member.insert(7, 90)
    5. member.append(88)
    复制代码
    方法二:
    1. member = ['小甲鱼', 88, '黑夜', 90, '迷途', 85, '怡静', 90, '秋舞斜阳', 88]
    复制代码
    对于这种情况,明显是第二种方法看起来要好一些嘛。

    不过对于大型的列表,第一种方法可能更合适,所以我们说永远没有最好的,只有最合适的。
    1. 利用 for 循环打印上边 member 列表中的每个内容,如图:
    图1.PNG  
    答:
     
    member = ['', 88, '', 90, '', 85, '', 90, '', 88]
    for i in member:
        print(i)
     2. 上一题打印的样式不是很好,能不能修改一下代码打印成下图的样式呢?【请至少使用两种方法实现】
    图2.PNG 
     
     

    答:不会
     论坛参考答案:

    1. 方法一:
    2. count = 0
    3. length = len(member)
    4. while count < length:
    5.     print(member[count], member[count+1])
    6.     count += 2
    7. 方法二:    
    8.     
    9. for each in range(len(member)):
    10.     if each%2 == 0:
    11.         print(member[each], member[each+1])
    复制代码
  • 相关阅读:
    【2019-11-22】组件与模板 -- 显示数据
    【2020-01-22】模块
    【2020-01-21】迭代器和生成器
    【2020-01-17】高级类型
    【2020-01-08】类和对象
    【2019-01-07】类型和变量 + 语句
    【2020-01-07】C#语言元素
    【2020-01-07】C# 基本概念
    【2020-01-05】C#程序内部
    时间就是这样一点一点的度过的
  • 原文地址:https://www.cnblogs.com/fishdm/p/3572997.html
Copyright © 2011-2022 走看看