python 3 列表操作

发布时间:2019-09-25 08:15:05编辑:auto阅读(1818)

      

      创建列表subject = ["Liunx","python","web","java"]

    #读取列表
    
    print(subject)
    
    #打印显示
    ['Liunx', 'python', 'web', 'java']
    
    #列表的切片,切片的索引是从0开始的
    print(subject[0]) # 0 号索引,也就是列表的第一个元素
    print(subject[1])  
    print(subject[2])
    print(subject[3])
    
    print(subject[1:3])# 读取列表的第二个元素至第四个元素,第四个元素取不到,有头无尾
    print(subject[-1])#读取列表的最后一个元素
    print(subject[-2]) # 读取列表的倒数第二个元素
    print(subject[-3:]) #读取列表的倒数第三个元素至最后一个元素
    #打印显示
    Liunx
    python
    web
    java
    ['python', 'web']
    java
    web
    ['python', 'web', 'java']

     列表的追加 

     创建 列表 subject = ["Liunx","python","web","java"]

    #追加列表
    subject.append("php")
    
    #打印列表
    
    print(subject)
    ['Liunx', 'python', 'web', 'java', 'php']
    
    ##追加内容到指定的位置
    subject.insert(1,"windows") # 将windows ,插入到1号索引
    
    #打印 列表
    print(subject)
    ['Liunx', 'windows', 'python', 'web', 'java', 'php'] # 1号索引已变成Windows 了
    
    subject.insert(2,"UI")
    #打印 列表
    print(subject)
    
    ['Liunx', 'windows', 'UI', 'python', 'web', 'java', 'php']

     # 列表的删除

     创建 列表 subject = ['Liunx', 'windows', 'UI', 'python', 'web', 'java', 'php']

    #删除指定元素
    subject.remove("php")
    #打印列表
    print(subject)
    ['Liunx', 'Unix', 'UI', 'python', 'web', 'java']
    #根据索引删除
    del subject[0] #删除Liunx
    #打印列表
    print(subject)
    ['Unix', 'UI', 'python', 'web', 'java']
    # pop 默认删除最后一个元素,此处删除java
    subject.pop()
    #打印列表
    ['Unix', 'UI', 'python', 'web']
    #查找某个名称的索引
    print(subject.index("python"))
    2

     #统计元素的个数

     创建列表 subject = ['Liunx', 'windows', 'UI', 'python', 'web', 'java', 'php','python']

    print(subject.count("python"))
    print(subject)
    2
    
    #列表的反转
    
    subject.reverse()
    
    print(subject)
    
    ['python', 'php', 'java', 'web', 'python', 'UI', 'windows', 'Liunx']
    
    #列表的排序  排序规则按照assci 码规则
    subject.sort()
    print(subject)
    ['Liunx', 'UI', 'java', 'php', 'python', 'python', 'web', 'windows']
    
    # 列表的清除 
    subject.clear()
    print(subject)
    []

     列表的拓展  extend

     创建列表

    subject = ['Liunx', 'windows', 'UI', 'python', 'web', 'java', 'php','python']

    subject2 = ["a","b","c"]

    subject.extend(subject2)
    print(subject)
    print(subject2)
    
    #打印列表
    ['Liunx', 'windows', 'UI', 'python', 'web', 'java', 'php', 'python', 'a', 'b', 'c']
    ['a', 'b', 'c']

     #列表的copy 

     创建列表  subject = ["Liunx","python","web",["c++","ruby"],"java"] 

    subject = ["Liunx","python","web",["c++","ruby"],"java"] 
    subject3 = subject.copy()#拷贝subject 的内容
    #打印列表
    print(subject)
    print(subject3)
    ['Liunx', 'python', 'web', ['c++', 'ruby'], 'java']
    ['Liunx', 'python', 'web', ['c++', 'ruby'], 'java']
    
    #修改 subject 元素的内容
    subject[0] ="GNU liunx 
    subject[3][0]="C++"
    #打印列表
    print(subject)
    print(subject3)
    ['GNU liunx ', 'python', 'web', ['C++', 'ruby'], 'java'] # subject 
    ['Liunx', 'python', 'web', ['C++', 'ruby'], 'java'] # subject 3
    
    可以看到 修改subject[0] ="GNU liunx  的内容没有在subject3 里面生效,subject[3][0]="C++" 这个元素生效。浅copy 只copy 一层,嵌套部分的不会被copy
    ,只是copy 了里面的内存地址,当subject[0] ="GNU liunx 相当于重新开辟了一块内存地址,所以subject3[0] 读取的元素内容还是Liunx
    
    浅拷贝 对应的是深拷贝
    import copy
    subject = ["Liunx","python","web",["c++","ruby"],"java","PHP"] # 里面重新赋值
    subject[0] ="small liunx "
    subject[3][0]="C++"
    subject3 = copy.deepcopy(subject)
    print(subject)
    print(subject3)
    ['small liunx ', 'python', 'web', ['C++', 'ruby'], 'java', 'PHP']
    ['small liunx ', 'python', 'web', ['C++', 'ruby'], 'java', 'PHP']

     #列表的循环取值

     #创建列表  subject = ["Liunx","python","web",["c++","ruby"],"java","PHP"]

    subject = ["Liunx","python","web",["c++","ruby"],"java","PHP"]
    for i in subject:
        print(i)
    #打印列表
    Liunx
    python
    web
    ['c++', 'ruby']
    java
    PHP

    Python 的列表操作至此完成。

关键字