• Python 列表list


    列表list: [ ]

    类似Java中的数组. 通过索引可以取到具体位置上的值.

    1 names = ["ZhangYang","WangGui","LiQiang"]
    2 print(names)
    3 print(names[0])
    1 #取数组中相邻的一些数
    2 names = ["Ada","Sasha","Rose","Luke","Sara"]
    3 print(names[1:3])   #顾头不顾尾, 这样写是取索引为1和2的值.

     切片

     1 #取数组最后一位的值
     2 print(names[-1]) #从右向左数第一位. 也可以[-2],就是取倒数第二位的值.
     3 
     4 #取数组最后两位的值
     5 print(names[-1:-3]) #这样写会报错,因为系统是从左向右数的, 所以-1数完后边已经没有了.
     6 
     7 print(names[-3:-1]) #正确写法
     8 
     9 #取倒数第二个和倒数第三个
    10 print(names[-2:])
    11 
    12 #取前两位
    13 print(names[3]) #相当于print(names[0:3]), 0省略了

    追加

    1 names.append("Nick")

    添加数据并放在中间的位置.  / 修改.

    1 names = ["Ada","Sara","Candy","Cathy","Jessica","Diana"]
    2 
    3 #添加数据插入Sara前面
    4 names.insert(1,"Venus")  #想放在哪个位置,参数就写对应的索引.
    5 
    6 
    7 #修改. 把Candy换掉.
    8 names[2] = 'XieDi"

    删除

    1 #删除方法1:
    2 names.remove("Ada")
    3 
    4 #删除方法2:
    5 del names[0]
    6 
    7 #删除方法3:
    8 names.pop()  #默认删掉最后一个值.
    9 names.pop(1)  #等同于del names[1]

    查找 / 清空

     1 # 查找Ada的位置
     2 print(names.index("Ada"))
     3 print(names[(names.index("Ada")] #根据找到的索引打印出对应位置的值
     4 
     5 
     6 #当存在重复数据时, 计算重复数据的个数
     7 names = ["Ada","Sara","Cathy","Candy","Diana","Ada"]
     8 print(names.count("Ada"))
     9 
    10 
    11 
    12 #清空列表
    13 names.clear()

    反转 / 排序

    1 #反转列表
    2 names = ["Ada","Sara","Cathy","Candy","Diana","Ada"]
    3 
    4 names.reverse()
    5 
    6 
    7 #排序
    8 names.sort()

    添加列表 (类似合并数组)  / 删掉列表

    1 #合并列表
    2 names2 = [1,2,3,4]
    3 
    4 names.extend(names2)
    5 
    6 
    7 #删掉列表names2
    8 del names2

    extend和append的区别:

     1 a = ['1','2','3']
     2 b = ['2','0']
     3 c = ['6','3']
     4 a.extend(b) # 将另一个列表的元素添加到当前列表中
     5 print(a)
     6 print('=====================================')
     7 a.append(c) # 将另一个列表作为一个元素添加到当前列表中
     8 print(a)
     9 
    10 '''
    11 返回值
    12 ['1', '2', '3', '2', '0']
    13 ======================================
    14 ['1', '2', '3', '2', '0', ['6', '3']]
    15 '''

    复制

    1 #复制
    2 name2 = names.copy()

    数组包含数组时修改内嵌数组中的数据

     1 # 数组包含数组时修改内嵌数组中的数据
     2 
     3 # 方法1 : copy 浅复制
     4 # 数组中内嵌数组的内容在复制时,其实复制的是该内嵌数组的地址,所以当修改该内嵌数组中的数据时,无论原始数组还是复制后的数组,其内嵌数组中的数据都会随之改变.
     5 # 但是原始数组中其他值则是直接将该值指向复制后的数组,所以当原始数组中这些值改变时,复制后的数组对应位置的值保持不变.
     6 names = ["Ada","Jessica","Cathy","Candy","Luke",["ada","Sara","Mika"]]
     7 
     8 names2 = names.copy()
     9 names[2] = "Lucy"
    10 names[5][0] = "ADA"
    11 print(names) # Cathy被修改成Lucy;  ADA改成大写.
    12 print(names2) # Cathy不改变. ADA改成大写
    13 
    14 
    15 # 方法2: import copy, 调用copy.copy()方法和列表中的copy()一样效果
    16 import copy
    17 names3 = copy.copy(names)
    18 names[0] = "Lucy"
    19 names[5][1] = "ADA"
    20 print(names) # Cathy被修改成Lucy;  ADA改成大写.
    21 print(names3) # Cathy不改变. ADA改成大写
    22 
    23 
    24 # 方法3: import copy, 调用copy. deepcopy()方法. 深copy, 可以达到复制内嵌列表中值的效果
    25 names4 = copy.deepcopy(names)
    26 names[3] = "Lucy"
    27 names[5][0] = "ada"
    28 print(names) # Cathy被修改成Lucy;  ADA改成大写.
    29 print(names4) # Cathy不改变. ADA也不改变
    30 
    31 
    32 # 方法4, 切片的方式实现浅copy
    33 names5 = names[:]
    34 
    35 
    36 # 方法5, 另外一种浅copy的方法
    37 names6 = list(names)
    38 
    39 
    40 # 浅copy在银行公共帐户情形中非常有用. 夫妻二人共开同一个帐户时,每个人取钱都会影响帐户中的总额.

    列表的循环 / 跳着打印列表中的值

    1 # 列表的循环
    2 for i in names:
    3     print(i)
    4 
    5 # 跳着打印列表中的值
    6 print(names[0:-1:2]) # 每隔一个打印一次. 2代表步长.
    7 print(names[::2]) # 0和-1都可以省略,所以写成这样.
  • 相关阅读:
    设计模式(六)Prototype Pattern 原型模式
    设计模式(五)Builder Pattern建造者模式
    Linux安装软件
    日志技术及JUL入门
    IDEA推出新字体,极度舒适
    HDFS的API操作
    Apollo的灰度发布
    Apollo整合SpringBoot开发
    Apollo配置发布原理
    Apollo应用配置
  • 原文地址:https://www.cnblogs.com/cheese320/p/8782928.html
Copyright © 2020-2023  润新知