• python数据类型之列表(list)和其常用方法


    列表是python常用数据类型之一,是可变的,可由n = []创建,也可由n = list()创建,第一种方法更常用。

    常用方法总结:

    # 创建方法  n = [] 或者 n = list()
    
    # index 查找索引值
    li = ['Edward', 'Mark', 'John', 5435, 123, 8, 8, 8, 6, 6, True, 1, False, 0]
    print(li.index(True))  # 10
    print(li.index(1))  # 10 1也可以代表True
    print(li.index(False))  # 12
    print(li.index(0))  # 12 0也可以代表False
    print(li.index(8))  # 5 从左往右找不到第一个匹配的就返回
    
    # 切片,包含开头,但是不包含结尾,顾头不顾尾。
    print(li[1:3])  # ['Mark', 'John']
    # 不能从右往左且,只能从左往右切
    print(li[-5:-1])  # [6, True, 1, False]
    # 如果想要最后一个,那么直接不写就行
    print(li[-5:])  # [6, True, 1, False, 0]
    # 只要前面的几个的,冒号加想要的数字就行
    print(li[:5])  # ['Edward', 'Mark', 'John', 5435, 123]
    # 步长,再在后面加一个冒号,然后写想要按几步走,2步走就是跳一个,以此类推。
    print(li[:5:3])  # ['Edward', 'John', 123]
    print(li[::2])  # 跳一步走,从头走到尾
    
    # 增加
    li.append('peiqi')  # 只加到最后
    print(li)
    
    # 插入
    li.insert(0, 'abc')  # 插入是加到前面
    print(li)  # ['abc', 'Edward', 'Mark', 'John', 5435, 123, 8, 8, 8, 6, 6, True, 1, False, 0, 'peiqi']
    
    # 修改
    li[0] = 'Mark'
    print(li)  # ['Mark', 'Edward', 'Mark', 'John', 5435, 123, 8, 8, 8, 6, 6, True, 1, False, 0, 'peiqi']
    
    # 修改多个值
    li[3:6] = 'Li Lei'
    print(li)  # ['Mark', 'Edward', 'Mark', 'L', 'i', ' ', 'L', 'e', 'i', 8, 8, 8, 6, 6, True, 1, False, 0, 'peiqi']
    # 这个方法会显示多出来的,很少用
    
    
    # 删除
    li.pop()  # 删除最后一个
    print(li)  # ['Mark', 'Edward', 'Mark', 'L', 'i', ' ', 'L', 'e', 'i', 8, 8, 8, 6, 6, True, 1, False, 0]
    
    li.remove(8)  # 指定删除,从左开始找,找到第一个后删除,但只能删除一个。
    print(li)  # ['Mark', 'Edward', 'Mark', 'L', 'i', ' ', 'L', 'e', 'i', 8, 8, 6, 6, True, 1, False, 0]
    
    del li[3:9]  # 全局方法,可以删除任何东西,可以批量删除
    print(li)  # ['Mark', 'Edward', 'Mark', 8, 8, 6, 6, True, 1, False, 0]
    
    # range也是顾头不顾尾,取第一个值不取最后一个值。
    
    # while循环可以是死循环,for循环有边界
    
    
    # 排序
    li2 = ['a', 'e', 'b', 1, 34, 2, 'c']
    # li2.sort()  # 报错,int和str之间不能排序
    
    li2 = ['a', 'z', 'c', 'm', 'u', 'G', '!', '*', ',', '.']
    li2.sort()  # 按ASCII码表的顺序来排
    print(li2)  # ['!', '*', ',', '.', 'G', 'a', 'c', 'm', 'u', 'z']
    
    # 翻转
    
    li2.reverse()
    print(li2)  # ['z', 'u', 'm', 'c', 'a', 'G', '.', ',', '*', '!']
    
    # 拼接列表
    
    # 方法1
    
    li3 = [1, 2, 3]
    li4 = ['a', 'b', 'c']
    print(li4 + li3)  # ['a', 'b', 'c', 1, 2, 3]
    
    # 方法2
    li5 = ['z', 'x', 'c']
    li3.extend(li5)
    print(li3)  # [1, 2, 3, 'z', 'x', 'c']
    
    # 清空列表 clear
    li6 = [1, 123, 312, '12312', '8', '*', 'asd']
    print(li6.clear())  # None
    
    # copy
    
    li7 = [3, 4, 5]
    li8 = li7  # li8指向了li7,而不是li7的值
    li7[0] = 'alex'
    print(li7)  # ['alex', 4, 5]
    print(li8)  # ['alex', 4, 5]
    
    li9 = [1, 2, 3]
    li10 = li9.copy()
    li9[0] = 'alex'
    print(li9)  # ['alex', 2, 3]
    print(li10)  # [1, 2, 3]

  • 相关阅读:
    VSPD虚拟串口工具
    Go 普通指针类型、unsafe.Pointer、uintptr之间的关系
    Go内存对齐
    自定义URL Protocol 协议
    C# 百钱买百鸡
    C++输出九九乘法表
    C#嵌入子窗体,判断子窗体是否打开了
    K3 WISE 开发插件《K3 WISE常用数据表整理》
    提取Jar2Exe源代码,JavaAgent监控法
    Linux密码重置
  • 原文地址:https://www.cnblogs.com/lshedward/p/9917681.html
Copyright © 2020-2023  润新知