zoukankan      html  css  js  c++  java
  • 列表类型(list)的使用

    列表类型(list)的使用

    返回首页

      在列表中要注意,列表list是有序的。列表的取值用索引值就可以。

      列表的存储方式是:线性存储,他的复杂度是O的N倍。

      列表的常用操作有:索引、切片、统计、追加、插入、删除、修改、反转、排序

      索引:index方法 

    #索引 index 可以打印索引的位置序数
    name = ['george','hervy','jack','rebeca','yellow','green']
    print(name.index("yellow"))  #打印元素对应的索引值

      

      切片:通过index的索引值进行切片

    #取值,切片取值
    name = ['george','hervy','jack','rebeca','yellow','green',"jack"]
    print(name[1])
    print(name[2:4])
    print(name[2:])
    print(name[-1])

      统计:通过count()方法可以获取列表中,相同数据的个数。

    name = ['george','hervy','jack','rebeca','yellow','green',"jack"]
    print(name.count("jack"))

      追加:append()方法。

    #追加 append()
    name = ['george','hervy','jack','rebeca','yellow','green',"jack"]
    name.append("Tom")
    name.append("jack")
    name.append("green")
    print(name)
    print(name.count("jack"))
    print(name.count("green"))

      插入:insert()方法,该方法的参数是 (位置参数, "数据参数")。

    #插入 insert()
    name = ['george','hervy','jack','rebeca','yellow','green',"jack"]
    name.insert(4,"TOM")   #数字是要插入的索引值位置。后面跟要插入的数据
    print(name)

      删除:pop()方法、remove()方法、clear()方法、del方法。

    #删除 pop()方法,参数是要被删除的数据的索引值
    name = ['george','hervy','jack','rebeca','yellow','green',"jack"]
    print(name.pop(2)) # 这里打印的是pop删除的结果数据,也就是返回删除值,如果不添加索引值,则是默认移除列表最后一位。
    print(name)   #这里再打印就没有索引值为2的jack数据了 
    #删除 remove()方法,参数是要被删除的数据
    name = ['george','hervy','jack','rebeca','yellow','green',"jack"]
    print(name.remove("jack"))   #remove方法不会返回删除的值,并且参数也不是索引值,而是数据本身
    print(name)
    #删除 del方法,参数是要被删除的数据的索引值,del是将列表的某个元素或整个列表删除了
    name = ['george','hervy','jack','rebeca','yellow','green',"jack"]
    del name[1]   #直接删除列表中对应的索引值数据
    print(name)
    #删除 clear()方法 清空,没有参数,直接清空整个列表的内容
    name = ['george','hervy','jack','rebeca','yellow','green',"jack"]
    name.clear()
    print(name)

      修改: 

    # 修改 
    name = ['george','hervy','jack','rebeca','yellow','green',"jack"]
    print(name)
    print(name[name.index("jack")])  #获取要修改的数据的索引值,以及对应的数据
    name[name.index("jack")] = "Tom"   #对索引值的数据从新赋值
    print(name)

      扩展:extend()方法,可以将多个列表合并成一个列表。但合并时不会去重。extend的合并列表,之前的name2还是依旧存在的。

    #扩展 extend() 在合并列表时,不会进行去重操作。
    name1 = ['george','hervy','jack']
    name2 = ['rebeca','yellow','green',"jack"]
    name1.extend(name2)
    print(name1)
    # “+”操作也有extend操作的效果
    name1 = name1 + name2
    print(name1,name2)

      反转:reverse()方法

    #反转 reverse()方法,将列表内容反向输出
    name = ['george','hervy','jack','rebeca','yellow','green',"jack"]
    name.reverse()
    print(name)

      排序:sort()方法,按字母顺序排序。

           int类型和str类型混用的情况,将数字变成字符串可以按ASCII码表的数值排序。

           Python3中int类型和str类型不可混用排序。

         特殊字符在更靠前的位置。

    # 排序 sort()方法,按字母排序。数字按小到大排序。
    name1 = ["george","gw","ga","hervy","jack","rebeca","yellow","green","jack"]
    name2 = [5,2,3,7,8,4]
    name1.sort()
    name2.sort()
    print(name1,name2)
    name = ["george","gw","ga","hervy","jack","rebeca","yellow","green","jack","3","6","1","9"]
    name.sort()
    print(name)

      拷贝 copy()方法:拷贝出的新的变量是完全独立的。

    name = [1,2,3,4,['george','wang',3]]
    n2 = name.copy()
    name[1] = -2
    name[4][0] = "GEORGE"
    name[4][2] = -3
    print(name)
    print(n2)

       copy的使用场景:信用卡的主卡和副卡,也就是两个不同的账户,但从一个地方出钱。刷主卡,副卡的额度也会变。 

    account = {
        'name':'主卡',
        'id':1234,
         'info' : [200, 10 ]
    }
    
    account2 = account.copy()
    account2['name'] ="副卡"
    
    account["info"][1] += 30
    
    print(account,account2)

    -------- END --------

  • 相关阅读:
    Dedecms自定义表单后台列表展现方式更改
    FileZilla出现Failed to convert command to 8 bit charset
    织梦中data文件夹是存放什么内容的
    Dedecms去掉URL中a目录的方法
    FileZilla出现Failed to convert command to 8 bit charset
    Linux虚拟主机通过FTP软件创建目录时提示550 Create Directory Operation Failed
    CSharp设计模式读书笔记(1):简单工厂模式(学习难度:★★☆☆☆,使用频率:★★★☆☆)
    Ubuntu 10.04 Desktop 快速添加微软雅黑字体
    firefox10的界面 确实领先
    ubuntu下断点续传工具 aria2
  • 原文地址:https://www.cnblogs.com/george92/p/12670428.html
Copyright © 2011-2022 走看看