• python 04 列表


    1.列表——list [ ]

    有序、可变、支持索引查看。

    存储数据,支持大多数数据类型:字符串,数字,布尔值、列表、集合、元组、字典等。

    1.1 定义: lst(勿用list)

     lst = ["aaa",123,True,"你好"]   # 元素之间用逗号分隔
     print(lst[0])   # aaa
     print(id(lst[0]))     #id获取对象的内存地址

    1.2 列表的增删改查

    1.2.1 增:

     lst = ["aaa",123,True,"你好"]
     lst.append(True)    # 追加 (在列表的最后位置添加一个元素)
     lst.insert(2,"今天") # 插入 在位置2前加入"今天"   以后尽量不要使用(当数据量比较大的时候会影响效率)
     lst.extend("可迭代的内容")  # 迭代添加在列表末尾,数字布尔值不可

    1.2.2 删:

     lst = ["aaa",123,True,"你好"]
     lst.pop()   #弹 -- 默认删除最后一个,返回被删除的元素
     lst.pop(3)  # 通过指定索引进行删除
     lst.remove(123) # 移除 -- 通过元素名字进行删除
     lst.clear() #清空,只剩一个空列表
     
     del lst     #删除整个列表
     del lst[2]  # 通过索引删除
     del lst[0:3] # 通过切片删除
     del lst[0:3:2] # 通过步长删除

    1.2.3 改:

     lst = ["aaa",123,True,"你好"]
     lst[0] = 1  #索引修改,将"aaa"变为 1
     lst[2] = "美好"
     lst[1:3] = "123"  #切片后迭代 ['aaa', '1', '2', '3', '你好']
     lst[1:3] = 1,2,3  #加逗号可修改 ['aaa', 1, 2, 3, '你好']
     lst[1:3] = True    #错误,数字/布尔值不可迭代
     lst[:4:2] = 1,2    # [1, 123, 2, '你好']
     lst[:4:2] = "12"   # 步长不为1的必须一一对应填,多一个也不行,少一个也不行。

    1.2.4 查:

     # for循环
     lst = ["aaa",123,True,"你好"]
     for i in lst:
         print(i)   # 输出 i

    1.3 列表嵌套:

    通过索引进行一层一层的查找取值。按逗号进行索引元素。

     lst = ["aaa",123,["世界",True,["你好"]]]
     print(lst[-1][-1][0])   # 你好

    不管什么类型进行切片的时候获取的都是原数据类型。

     

    2. 元组——tuple ( )

    2.1 定义

    tu = (1,"aaa",True,"你好",[1,2,3]) 

    2.2 特征

    1. 有序,不可变,支持索引查看,不能增、删、改。

    2. 元组用于存储一些比较重要的信息元组,在配置文件中会使用。

    3. 元组就是不可变的列表。

    4. 元组嵌套同列表。

    2.3 查

     # for循环
     tu = ("aaa",123,True,"你好")
     for i in tu:
         print(i)   # 输出 i

    3. range——范围 和for配合使用

     range(起始位置,终止位置)
     print(range(0,10))   # 顾头不顾尾
          # python3 中的range是一个可迭代对象 写得是怎样的打印的时候就是怎样,结果为 range(0,10)
          # python2 中的range返回的是一个列表 结果为 [0,1,2,3,4,5,6,7,8,9]
          # python2中xrange和python3中的range是相似的
     
     range(起始位置,终止位置,步长)
     print(list(range(10,-2,-1))) #步长不写得时候默认为1 [10:-2:-1]   反向
     print(list(range(10)))  #步长不写得时候默认为1 [:10]
     
     # 例题:
     #1.使用for循环和range 打印 100 ~ 1
     for i in range(100,0,-1):
         print(i)
         
     #2.使用for循环和range 打印 1~100内的奇数
     for i in range(1,101,2):
         print(i)
         
     #3.使用for循环和range 打印 1~100内被6整除的数
     for i in range(0,101,6):
         print(i)
         
     #4. 输入三次名字,打印成列表
     #第一种方法: while
     lst = []
     flage = True
     while flage:
         name = input("请输姓名:")
         lst.append(name)         # 追加
         if len(lst) == 3:
             flage = False
     print(lst)
     
     #第二种方法:range与for配合使用
     lst = []
     for i in range(3):    
         lst.append(input("请输入姓名:"))
     print(lst)

     

  • 相关阅读:
    MySQL常用命令
    Jstack、Jmap命令简单使用
    MySQL慢查询日志ES索引模板
    MySQL二进制安装部署
    varnish启动报错
    基础训练 Sine之舞
    基础训练 FJ的字符串
    基础训练 芯片测试
    基础训练 龟兔赛跑预测
    基础训练 回形取数
  • 原文地址:https://www.cnblogs.com/yzm1017/p/11160924.html
Copyright © 2020-2023  润新知