zoukankan      html  css  js  c++  java
  • Python基础知识(六)—列表

    列表 list

    定义:由一系列变量组成的可变序列容器。

    一、基础操作

    1.创建列表:有两种方式

    列表名 = []     (里面可以是不同数据类型)

    列表名 = list(可迭代对象)   (里面必须是相同数据类型)

    list01 = [2,"大强",True]
    list01 = list("我叫苏明玉")
    list01 = list(range(5))

    2.添加元素:

    列表名.append(元素)

    末尾追加
    list02.append("悟空")
    list02.append("唐僧")
    print(list02)    #  ['悟空', '唐僧']

    列表.insert(索引,元素)

    在指定位置前面插入元素
    list02=['悟空', '唐僧']
    list02.insert(1,"八戒")
    print(list02)   #  ['悟空', '八戒', '唐僧']

    遍历列表:

    正向:for 变量名 in 列表名:  变量名就是元素  (不灵活)

    # 只支持:正向顺序查找
    for item in list01:
        print(item)
      # item = 0 # 不能修改

    for 变量名 in (len(列表名)):  列表名[索引名]就是元素  (常用)

    索引 + for 定义元素
    # 获取列表中每个元素
    # 正向
    for i in range(len(list01)):
        print(list01[i])
          # list01[i] =0

    反向倒叙:for 索引名 in range(len(列表名)-1,-1,-1):  列表名[索引名]就是元素

    # 倒序
    for i in range(len(list01)-1,-1,-1):
      print(list01[i])

    正向跳:for 变量名 in (0:len(列表名):n):  列表名[索引名]就是元素

    # 正向跳着
    for i in range(0,len(list01),2):
      print(list01[i])

    反向跳:for 索引名 in range(len(列表名)-1,-1,-n):  列表名[索引名]就是元素

    # 反向跳着
    for i in range(len(list01)-1,-1,-2):
      print(list01[i])

    删除元素:

    列表名.remove(元素)

    del 列表名[索引或切片]

    list02.remove("悟空")
    删除list02中“悟空”的元素
    del list02[1]
    删除1的位置的元素

    修改元素、替换元素、定位元素

    修改元素
    list03=[1,2,3,4,5,6,]
    list03[5] = "沙僧"
    print(list03)      #[1, 2, 3, 4, 5, '沙僧']
    通过切片获取一个新列表
    list04 = list03[:3]
    print(list04)      #[1, 2, 3]
    通过切片可以修改元素
    list03[:3] = ["a"]
    print(list03)      #['a', 4, 5, '沙僧']  

    二、深拷贝和浅拷贝

    浅拷贝:是在复制过程中,只复制一层变量,不会复制深层变量绑定的对象的复制过程。

    深拷贝:复制整个依懒的变量。

    https://www.cnblogs.com/maplethefox/p/10836031.html

    三、列表VS字符串

    1.列表和字符串都是序列,元素之间有先后顺序关系。

    2.字符串是不可变的序列,列表是可变的序列。

    3.字符串中每个元素只能存储字符,而列表可以存储任意类型。

    4.列表和字符串都是可迭代对象。

    函数:

    将多个字符串拼接为一个。

    result = "连接符".join(列表)

    将一个字符串拆分为多个。

    列表 = “a-b-c-d”.split(“分隔符”)

    字符串 --> 列表
    str02 = "How are you"
    list_result = str02.split(" ")
    print(list_result)    #['How', 'are', 'you']
    列表 -->字符串(反转)
    str_result = " ".join(list_result[::-1])
    print(str_result)     # you are How

    四、列表推导式

    定义:使用简易方法,将可迭代对象转换为列表。

    语法:

    变量 = [表达式 for 变量 in 可迭代对象]

    变量 = [表达式 for 变量 in 可迭代对象 if 条件]

    说明:如果if真值表达式的布尔值为False,则可迭代对象生成的数据将被丢弃。

    列表推导式嵌套

    语法:变量 = [表达式 for 变量1 in 可迭代对象1 for 变量2 in可迭代对象2]

    # 需求:list01中所有元素的平方存入list02中
    # 传统写法
    list01 = [4,5,5,66,7,8,9]
    list02 = []
    for item in list01:
      list02.append(item ** 2)
    print(list02)
    # 推导式写法
    list03 = [item ** 2 for item in list01]
    print(list03)
  • 相关阅读:
    final,static,this,super 关键字总结
    Java基础知识(三)
    Java基础知识(二)
    Java基础知识(一)
    MyBatis重要核心概念
    Mybatis执行SQL的完整过程及四大组件介绍
    Mybatis之plugin插件设计原理
    Spring MVC 9大组件概述
    Log4j的使用
    Git的介绍及使用
  • 原文地址:https://www.cnblogs.com/maplethefox/p/10994402.html
Copyright © 2011-2022 走看看