zoukankan      html  css  js  c++  java
  • 四,列表的使用方法

    列表的基本语法:
    列表是一种有序的,每个顺序下可以存储一个值的数据类型。
    表现为:[1,2,3,4,5],用中括号括起来,用逗号进行隔开的数据类型。
    同样也可以使用索引进行取值和切片,并且可以赋值
    不同于元组和字符串,列表是可变数据类型,所以可以直接对索引位置的数据进行赋值!
    列表中的元素是可以重复的。但是集合set中的元素是不可以重复的。

    python列表的索引、切片和运算:
    索引:从零开始。
    切片:
    注意切片赋值,会将切片索引位置的值先去掉,然后在切片开始的位置开始添加值。相当于在切片中进行插入。列表元素数量会增加
    例如:a = [1,2,3]
    a[0:2]=[1,2,1,3,2,1,2]
    a这时就变成了[1,2,1,3,2,1,2,3]
    序列的加法和乘法
    [1]+[2] == [1,2]
    [1] * 5 == [1,1,1,1,1]
    成员资格检验
    元素名 in 列表名 返回一个布尔值,表示这个元素是否存在于这个列表中。

    列表内置方法
    lst.append() #对列表《就地》的在末尾添加一个元素!注意,该方法并不返回任何的值!
    lst.insert(index,value) #在对应的索引位置插入一个值。《就地》
    lst.extend(lst2) #将列表2添加到列表1的后面。返回的结果《就地》修改lst的值,不需要储存!
    lst.pop(index) #按照索引去删除一个列表元素,并将这个元素返回。《就地》如果不指定index,那么就任意删除
    最后一个值。
    lst.remove(value) #按照元素的值去删除一个元素。《就地》。注意,如果有两个以上同样的值,那么remove会删除
    从左到右子一个对象。
    lst.clear() #清空该列表的所有元素。
    del lst #直接将该列表在内容中删除,包含列表内的全部元素。如果指定切片,就可以删除这部分的列表
    元素
    len(lst) #顾名思义
    count(lst) #顾名思义
    lst.index(value) #找到列表中某个值的键!用值查找索引!可以使用切片设置范围。只能查找从右开始第一个值
    lst.copy() #创建一个lst列表的副本。注意将这个副本保存在一个变量中,才能继续使用。
    这里执行的是潜复制。即其中元素的id还是不变,只有列表副本本身的id发生了变化。
    lst.sort() #对列表进行正序排序,可以更改参数reverse=True进行倒序排序
    lst.reverse() #翻转排序,按照原有顺序进行完全的翻转进行的排序

    列表的本质
    我们在赋值一个列表给变量的时候,实际上在赋值一个内存地址给变量。
    需要注意的时候,如果我们赋值的不是一个空的列表的话,其中的元素还会单独生成各自的id
    当我们把这个列表重新赋值给新的变量的时候,我们只是把这个id地址给了另一个变量。
    所以我们改变其中一个变量中列表的内容的时候,另一个变量也会同步变动。
    事实上,我们只是改变了其中元素的id,但是没有改变这个列表的id

    .copy()可以产生一个新的列表id,如果我们赋值的是这个副本的话,他们就不再是一个列表了。
    需要注意,即使使用.copy(),也只是产生了列表的副本,而其中的元素id还是和以前的id一样。
    如果想让列表中的元素也独立变动,就需要用到import copy中的copy.deepcopy。
  • 相关阅读:
    Spring Boot笔记
    Mybatis笔记
    SpringBoot学习笔记(6)Mybatis整合
    SpringBoot学习笔记(5)Druid连接池
    Authentication plugin 'caching_sha2_password' cannot be loaded的解决方案
    docker笔记
    SpringBoot学习笔记(2)配置文件
    SpringBoot学习笔记(1)入门
    Java中IoC、AOP、Bean、PO、VO、DTO、EJB、POJO等常见概念简述
    用MySQL实现微博关注关系的方案分析(转)
  • 原文地址:https://www.cnblogs.com/wanghanyao/p/10261147.html
Copyright © 2011-2022 走看看