zoukankan      html  css  js  c++  java
  • 4.列表的增删改查,元组

    11.列表

    什么是列表?
    list  []  多个元素 每个元素中间用,逗号隔开
    
    s = "1234Trueabc"  #类型单一
    
    定义方式一:  常用
    li = [1,2,3,'123',True,[1,2,5]]   # 容器
    列表 == 书包
        水杯
        衣服
        袜子
        钱包
            1,2,5
    
    容器存放的类型是多种,任意类型都可以放到容器中
    定义方式二:
    li = list("abc")  #底层使用了for循环  "abc" 可迭代的字符串类型
    print(li)
    
    列表能干啥?
    存储大量数据,字符串存储少量数据的
    有序的?  按照咱们写的顺序输出
    可变的 -- 可以在本身上进行修改
    
    
    如何使用列表?
    s = "123"
    print(s)
    li = [1,2,3,"123",True]
        0 1 2  3     4
    print(li)
    
    有序支持索引
    print(li[3],type(li[3]))
    print(li[-1],type(li[-1]))
    
    li = [1,2,3,"123",True]
       0 1 2   3      4
       -5 -4 -3  -2    -1
    有序支持切片
    print(li[1:4])
    
    支持步长
    s = "alex"
    print(type(s[1:3:1]))   # 切片后还是原来的数据类型
    print(type(li[-1:-4:-1]))
    
    li = [1,2,3,"123",True,[1,2,3,False],]
    print(li[-1:-4:-2])  # 起始 + 步长 -1 + -2  = -3  + -2 = -5
    
    列表是有序的:
        支持索引 ,切片,步长
    列表是可变的:
         增加 - 删除 - 修改
    
    列表怎么用?
    增
        li = [1,2,3,'alex',3,[1,2,3]]
              0,1,2,  3,    4, 5
        li.append('太亮')             # 追加  添加在末尾  添加的操作
        print(li)
    
        li.insert(0,"大象")           # 插入 第一个参数(索引),第二参数要插入的内容
        效率特别低
        print(li)
    
        li.extend("abc")                # 扩展 -- 迭代添加  -- for
        print(li)
    
        li = [1,2,3]
        li.extend("abc")
    
        迭代添加开始
    
        for i in "abc":
            li.append(i)
    
        迭代添加结束
        print(li)
    
        l3 = [1,2,3]
        l2 = ["a","b","c"]
        l4 = l3 + l2  # 列表合并
        print(l4)
        [1,2,3,["a","b","c"]]
    
    删
    
    li = [1,2,3,"abc",True]
    print(li.pop(3))
    # 弹 pop有返回值  返回的是被删除的内容
    # 默认删除的是最后一个
    # 可以通过索引指定删除
    print(li)
    
    li.remove(1)   # 删除   按照元素名进行删除
    print(li)
    
    li = [1,2,3,"abc",True]
    del 关键字
    del li   # del li 将整个容器都删掉了
    del li[2]   #del 支持索引删除
    del li[0:3]   #del 支持切片删除
    del li[::2]    # del 支持步长删除
    print(li)
    
    li = [1,2,3,43]
    li.clear()  # 清空
    print(li)
    
    
    改
    
    li = ["水杯",2,3,"abc",]
    l2 = [1,2,3,4,66,7]
    # li[-1] = "奶瓶"
    # li[1] = [1,2,3]
    # li[1:2] = []  #[66,7]  # 迭代进去的 可以多,可以少
    print(li)
    
    面试题:
    li = [1,2,3,4,"abc",5]
    li[0:2] = "ABC"
    print(li)
    
    结果:
    ["A","B","C",3,4,"abc",5]
    
    索引
    切片
    步长 ---  你取几个,就放几个  不能多不能少
    li = ["水杯",2,3,"abc",]
    li[0:3:2] = [1,2,3],[1234]
    print(li)
    
    a,b = [1,23],[3,45]
    print(a,b)
    
    a = 1
    b = 2
    a = 2  b = 1
    a,b = b,a
    print(a,b)
    
    查
    li = [1,2,3,4]
    print(li)
    
    print(li[1])
    
    for 循环
    
    for em in li:
        print(em)
    列表的反转
    li = [1,2,3,4,2,32]
    li.reverse()
    print(li)  #[32, 2, 4, 3, 2, 1]
    列表的排序
    li=[1,7,3,4,5]
    li.sort(reverse=True)#从大到小排列
    li.sort(reverse=False)#从小到大排列
    li.sort()#默认从小到大排列
    print(li)
    
    
    列表的嵌套:
    li = ["水杯","衣服","鞋子","书","电脑","笔",["手机","钥匙",["身份证","银行卡"]],]
    
    l2 = li[6]
    l3 = l2[2]
    print(l3[0])
    
    li[6]  == ["手机","钥匙",["身份证","银行卡"]]
    li[6][2] == ["身份证","银行卡"]
    print(li[6][2][0])
    
    li = ["高圆圆","吴奇隆","汪峰",
          ["国际章","张曼兮","龙泽罗拉"],
          "陈冠希",
          ["张柏芝","阿娇",["熊哥",["一本道"],"亮哥",["北京热"],"
          怼哥",["动物园"],"奇奇",["大象"]],"大S",["小S"],"范冰冰"],
          "周星驰",["逃学威龙","功夫","大话西游"]]
    
    print(li[5][2][1])
    print(li[5][2][-1][0])
    
    li = [1,2,3,4,1,2]
    
    li.remove()
    print(li)
    

    12.元组

    他是什么?
    元组 tuple
    tu = ("1") # () 每个元素都以 逗号隔开
    tu1 = (1)
    小括号中一个元素的时候没有逗号就括号中元素的本身
    小括号中一个元素的时候有个逗号就是元组
    空的小括号就是元组
    print(type(tu1))

    元组有序:
    索引,切片,步长
    元组不可变数据类型

    • 元组只能查看不能修改 -- 元组和列表和相似,元组是不可修改的
    • 存储一些你不想让别人修改的数据 - 元组容器 存储一些任意类型
    • 在配置文件中,程序中 为了防止误操作修改一些数据
      操作:
      tu = (1,2,3)

    查:
    索引
    print(tu[1])
    切片
    print(type(tu[1:1000])) # 切片返回的是切之前的数据类型
    步长
    print(tu[::2])

    元组的嵌套:

    tu = (1,2,3,(4,5,6,[6,7,8,(9,11,10),"abc"],"ABC"))
    print(tu[3][3][3][1]) # [6,7,8,(9,11,10),"abc"]
    print(tu[-1][-2][-1])
    定义 tuple
    tu = (1,2,34) # 元组类型
    tu = () #元组类型
    tu = (1) #括号中元素本身类型
    tu = (1,) #元组类型

       元组有序:    索引,切片,步长
       元组不可变的: 查看
  • 相关阅读:
    Google Analytics:为链接点击设定事件追踪的方法
    HTTP状态码大全
    jquery插件的编写
    2016.2.27日(开学)学习总结
    关于单文件上传的封装
    单文件的文件上传详细解释
    php中对象的串行化
    PDO的事物处理机制
    MySQL操作类的封装(PHP)
    smarty的简单介绍
  • 原文地址:https://www.cnblogs.com/pythonblogs/p/10986331.html
Copyright © 2011-2022 走看看