zoukankan      html  css  js  c++  java
  • python之列表

    列表介绍:

    列表 由一系列按特定顺序排列的元素组成。你可以创建包含字母表中所有字母、数字0~9或所有家庭成员姓名的列表;也可以将任何东西加入列表中,其中的元素之间可以没有 任何关系。鉴于列表通常包含多个元素,给列表指定一个表示复数的名称(如letters 、digits 或names )是个不错的主意。

    在Python中,用方括号([] )来表示列表,并用逗号来分隔其中的元素。下面是一个简单的列表示例,这个列表包含几个学生姓名:

    students = ['zhangsan','lisi','wangwu','zhaoliu']
    print(students)
    
    如果你让Python将列表打印出来,Python将打印列表的内部表示,包括方括号:
    ['zhangsan', 'lisi', 'wangwu', 'zhaoliu']
    [Finished in 1.0s]

     第一部分:访问列表元素

    列表是有序集合,因此要访问列表的任何元素,只需将该元素的位置或索引告诉Python即可。要访问列表元素,可指出列表的名称,再指出元素的索引,并将其放在方括号内。

    students = ['zhangsan','lisi','wangwu','zhaoliu']
    print(students)
    print(students[0])
    print(students[0].title())
    
    这里演示了访问列表元素的语法。当你请求获取列表元素时,Python只返回该元素,而不包括方括号和引号:
    ['zhangsan', 'lisi', 'wangwu', 'zhaoliu'] zhangsan Zhangsan [Finished in 0.4s]

    索引从0而不是1开始

    students = ['zhangsan','lisi','wangwu','zhaoliu']
    print(students)
    print(students[1])
    print(students[3])
    print(students[-1])
    
    ['zhangsan', 'lisi', 'wangwu', 'zhaoliu']
    lisi
    zhaoliu
    zhaoliu
    [Finished in 0.3s]

    使用列表中的各个值

    students = ['zhangsan','lisi','wangwu','zhaoliu']
    message = " My first student was a " + students[1].title() + "."
    print(message)
    
    可使用方法title() 让元素'lisi' 的格式更整洁:
     My first student was a Lisi.
    [Finished in 0.3s]

    第二部分:修改、添加和删除元素

    修改列表元素的语法与访问列表元素的语法类似。要修改列表元素,可指定列表名和要修改的元素的索引,再指定该元素的新值。

    修改:

    students = ['zhangsan','lisi','wangwu','zhaoliu']
    print(students)
    students[0] = 'xiaoming'
    print(students)
    
    ['zhangsan', 'lisi', 'wangwu', 'zhaoliu']
    ['xiaoming', 'lisi', 'wangwu', 'zhaoliu']
    [Finished in 0.2s]
    

    添加:(末尾添加)

    students = ['zhangsan','lisi','wangwu','zhaoliu']
    print(students)
    students.append('xiaoming')
    print(students)
    
    ['zhangsan', 'lisi', 'wangwu', 'zhaoliu']
    ['zhangsan', 'lisi', 'wangwu', 'zhaoliu', 'xiaoming']
    [Finished in 0.1s]
    

    添加:(动态创建列表)

    方法append() 让动态地创建列表易如反掌,例如,你可以先创建一个空列表,再使用一系列的append() 语句添加元素。下面来创建一个空列表,再在其中添加元 素:

    students = []
    students.append('zhangsan')
    students.append('lisi')
    students.append('wangwu')
    students.append('zhaoliu')
    print(students)
    
    ['zhangsan', 'lisi', 'wangwu', 'zhaoliu']
    [Finished in 0.1s]
    

    添加:(在列表中插入元素)

    students = ['zhangsan','lisi','wangwu','zhaoliu']
    print(students)
    students.insert(0,'xiaoming')
    print(students)
    students.insert(2,'xiaoming')
    print(students)
    
    ['zhangsan', 'lisi', 'wangwu', 'zhaoliu']
    ['xiaoming', 'zhangsan', 'lisi', 'wangwu', 'zhaoliu']
    ['xiaoming', 'zhangsan', 'xiaoming', 'lisi', 'wangwu', 'zhaoliu']
    [Finished in 0.1s]
    

    从列表中删除元素:

    注意:使用del 语句将值从列表中删除后,你就无法再访问它了。

    students = ['zhangsan','lisi','wangwu','zhaoliu']
    print(students)
    del students[0]
    print(students)
    
    ['zhangsan', 'lisi', 'wangwu', 'zhaoliu']
    ['lisi', 'wangwu', 'zhaoliu']
    [Finished in 0.2s]  

    使用方法pop() 删除元素

    students = ['zhangsan','lisi','wangwu','zhaoliu']
    print(students)
    students_del = students.pop()
    print(students)
    print(students_del)
    
    ['zhangsan', 'lisi', 'wangwu', 'zhaoliu']
    ['zhangsan', 'lisi', 'wangwu']
    zhaoliu
    [Finished in 0.1s]
    

    假设列表中的学生是按时间存储的,就可使用方法pop() 打印一条消息,指出最后的是哪个学生:

    students = ['zhangsan','lisi','wangwu','zhaoliu']
    print(students)
    students_del = students.pop()
    print("The last students i owned was a " + students_del.title() + ".")
    
    ['zhangsan', 'lisi', 'wangwu', 'zhaoliu']
    The last students i owned was a Zhaoliu.
    [Finished in 0.1s]
    

    弹出列表中任何位置处的元素

    students = ['zhangsan','lisi','wangwu','zhaoliu']
    print(students)
    students_del = students.pop(2)
    print("The last students i owned was a " + students_del.title() + ".")
    
    ['zhangsan', 'lisi', 'wangwu', 'zhaoliu']
    The last students i owned was a Wangwu.
    [Finished in 0.1s]
    

    如果你不确定该使用del 语句还是pop() 方法,下面是一个简单的判断标准:如果你要从列表中删除一个元素,且不再以任何方式使用它,就使用del 语句;如果你要在删除元 素后还能继续使用它,就使用方法pop()

    根据值删除元素

    students = ['zhangsan','lisi','wangwu','zhaoliu']
    print(students)
    students.remove('zhaoliu')
    print(students)
    
    ['zhangsan', 'lisi', 'wangwu', 'zhaoliu']
    ['zhangsan', 'lisi', 'wangwu']
    [Finished in 0.1s]
    

    使用remove() 从列表中删除元素时,也可接着使用它的值。下面删除值'zhaoliu' ,并打印一条消息,指出要将其从列表中删除的原因:

    students = ['zhangsan','lisi','wangwu','zhaoliu']
    print(students)
    
    too_expensive = 'zhaoliu'
    students.remove('zhaoliu')
    print(students)
    print("
    A " + too_expensive.title() + "is too expensive for me.")
    
    ['zhangsan', 'lisi', 'wangwu', 'zhaoliu']
    ['zhangsan', 'lisi', 'wangwu']
    
    A Zhaoliuis too expensive for me.
    [Finished in 0.1s]
    

     第三部分:组织列表

    students = ['zhangsan','lisi','wangwu','zhaoliu']
    print(students)
    students.sort()
    print(students)
    
    可以按字母排序排列,是永久的排序。 ['zhangsan', 'lisi', 'wangwu', 'zhaoliu'] ['lisi', 'wangwu', 'zhangsan', 'zhaoliu'] [Finished in 0.1s]

    使用函数sorted() 对列表进行临时排序

    students = ['zhangsan','lisi','wangwu','zhaoliu']
    print("here is the student list")
    print(students)
    
    print("
    Here is the student list:")
    print(sorted(students))
    
    print("
    here is the studennt list again:")
    print(students)
    
    here is the student list
    ['zhangsan', 'lisi', 'wangwu', 'zhaoliu']
    
    Here is the student list:
    ['lisi', 'wangwu', 'zhangsan', 'zhaoliu']
    
    here is the studennt list again:
    ['zhangsan', 'lisi', 'wangwu', 'zhaoliu']
    [Finished in 0.1s]
    

    倒着打印列表

    students = ['zhangsan','lisi','wangwu','zhaoliu']
    print(students)
    
    students.reverse()
    print(students)
    
    ['zhangsan', 'lisi', 'wangwu', 'zhaoliu']
    ['zhaoliu', 'wangwu', 'lisi', 'zhangsan']
    [Finished in 0.1s]
    

      使用列表时避免索引错误

    students = ['zhangsan','lisi','wangwu','zhaoliu']
    print(students[4])
    
    Traceback (most recent call last):
      File "D:Sublime Text3Sublime Text3	est.py", line 2, in <module>
        print(students[4])
    IndexError: list index out of range
    [Finished in 0.1s]
    

    仅当列表为空时,这种访问最后一个元素的方式才会导致错误

    students = []
    print(students[-1])
    
    Traceback (most recent call last):
      File "D:Sublime Text3Sublime Text3	est.py", line 2, in <module>
        print(students[-1])
    IndexError: list index out of range
    [Finished in 0.1s]
    

      

  • 相关阅读:
    BZOJ 1218: [HNOI2003]激光炸弹( 前缀和 + 枚举 )
    BZOJ 1878: [SDOI2009]HH的项链( BIT )
    BZOJ 1054: [HAOI2008]移动玩具( BFS )
    js-提取行间元素
    vim的三种模式的基本操作
    Linux的高级命令
    Linux的进阶命令
    Linux的基本命令
    Linux常见的文件目录结构
    js-操作属性
  • 原文地址:https://www.cnblogs.com/nshgo/p/9040175.html
Copyright © 2011-2022 走看看