• 【python】-- 列表


    Python中最基本的数据结构。序列中的每个元素都分配一个数字 - 它的位置,或索引,第一个索引是0,第二个索引是1,依此类推

    列表

    1、定义列表,取出列表中的值

     1 names = [] #定义空列表
     2 names = ['a','b','c'] #定义一个非空列表
     3 
     4 # 取出列表中的值
     5 
     6 >>> names = ['a','b','c']
     7 >>> names[0]
     8 'a'
     9 >>> names[1]
    10 'b'
    11 >>> names[2]
    12 'c'
    13 >>> names[-1]#倒着取最后一个值
    14 'c'

    2、切片

     1 >>> names = ['a','b','c','d'] # 列表的下标值是从0开始取值的
     2 >>> names[1:3] #取1到3之间的元素,包括1,不包括3
     3 ['b', 'c']
     4 >>> names[1:-1] #取1到-1之间的元素,包括1,不包括-1
     5 ['b', 'c']
     6 >>> names[0:3]
     7 ['a', 'b', 'c']
     8 >>> names[:3] #从头开始取,0可以省略,效果等同于names[0:3]
     9 ['a', 'b', 'c']
    10 >>> names[3:]  #想取到最后一个值,必须不能写-1,只能这么写
    11 ['d']
    12 >>> names[0::2] #后面的2表示:每隔一个元素就取一个
    13 ['a', 'c']
    14 >>> names[::2] #从头开始0可以省略,效果跟上一句一样
    15 ['a', 'c']

    切片小结:

    ①序列始终都是从左向右切片的,不能是从右向左

    列表切片时,起始位的元素是包括的,结束位的元素是不包括(又叫顾头不顾尾),最后一个位置表示步长(names[开始位:结束位:步长])

    ②如果从0位置取值,0可以省略

    ③想取最后一个值时,结束位不能是-1,因为结束位的元素不包括,所以只能留空

    3、列表函数&方法

    函数:

    方法:

    演示:

     1 # append 列表末尾添加新的对象
     2 >>> names = ['a','b','c','d']
     3 >>> names.append('e')
     4 >>> names
     5 ['a', 'b', 'c', 'd', 'e']#e是新加的元素
     6 
     7 # insert(下标值,插入的内容) 
     8 >>> names = ['a','b','c','d']
     9 >>> names.insert(0,'1') #0表示需要插入的下标值,'1'表示插入的内容
    10 >>> names
    11 ['1', 'a', 'b', 'c', 'd'] #在下标值为0的地方插入'1'
    12 
    13 #修改列表中的元素,直接是 names[下标值] = 新值
    14 >>> names = ['a','b','c','d']
    15 >>> names[1] = '1'
    16 >>> names
    17 ['a', '1', 'c', 'd']
    18 
    19 
    20 #扩展(extend)names2的列表合并到names1中,但是,names2这个列表依然存在,如果想删除names2这个变量,则只需del names2即可
    21 >>> names1 = ['a','b','c','d']
    22 >>> names2 = [1,2,3,4]
    23 >>> names1.extend(names2)
    24 >>> names1
    25 ['a', 'b', 'c', 'd', 1, 2, 3, 4]
    26 
    27 #统计(count(元素))
    28 >>> names = ['a','b','c','d','a']
    29 >>> names.count('a') #统计'a'元素的个数
    30 2
    31 
    32 #翻转(reverse())
    33 >>> names = ['a','b','c','d']
    34 >>> names.reverse()
    35 >>> names
    36 ['d', 'c', 'b', 'a']  #将整个列表翻转过来
    37 
    38 #排序(sort())
    39 >>> names = [4,2,3,1]
    40 >>> names.sort()
    41 >>> names
    42 [1, 2, 3, 4]
    43 
    44 #获取下标值(index(元素))
    45 >>> names = ['a','b','c','d']
    46 >>> names.index('a')
    47 0
    48 
    49 #清空列表(clear())
    50 >>> names = ['a','b','c','d']
    51 >>> names.clear()
    52 >>> names
    53 []

     删除(del、remove(元素)、pop())

    #根据下标值删除元素
    >>> names = ['a','b','c','d']
    >>> del names[0] 
    >>> names
    ['b', 'c', 'd']
    #根据元素删除
    >>> names = ['a','b','c','d']
    >>> names.remove('a')
    >>> names
    ['b', 'c', 'd']
    #删除最后一个
    >>> names = ['a','b','c','d']
    >>> names.pop()
    'd'
    >>> names
    ['a', 'b', 'c']

    扩展:

    #如果pop()中有下标值,则是删掉具体某个元素,其效果和del的效果是一样的
    >>> names = ['a','b','c','d']
    >>> names.pop(1) #在输入下标值得情况下和del的效果是一样的
    'b'
    >>> names
    ['a', 'c', 'd']
    
    #del关键字不仅可以删除列表中的元素,也可以删除变量
    names = ['a','b','c','d']
    #删除names这个变量
    del names

     copy:

    1 >>> names = ['a','b','c','d']
    2 >>> names2 = names.copy()
    3 >>> names2
    4 ['a', 'b', 'c', 'd']

    注:这边的copy都是浅copy,只能copy第一层。深浅拷贝的详细信息:点击这里

  • 相关阅读:
    linuxc查看进程命令
    Springboot+post请求接口
    Springboot+get请求接口
    xml 加载多个properties文件
    TCP的三次握手(建立连接)和四次挥手(关闭连接)
    记一次 synchronized 锁字符串引发的坑兼再谈 Java 字符串
    java单点登录原理与简单实现
    关于 Java 面试,你应该准备这些知识点
    Java 内存模型
    java利用SuffixFileFilter统计目录下特定后缀名文件的数目
  • 原文地址:https://www.cnblogs.com/Keep-Ambition/p/7093899.html
Copyright © 2020-2023  润新知