zoukankan      html  css  js  c++  java
  • 列表,元组的操作,for循环

    1.列表

    # li = ["wang","jian","wei"]
    # print(li)
    # 结果:['wang', 'jian', 'wei']
    # print(type(li))
    # 结果:<class 'list'>
    #   列表是随着你的操作而改变的,不是像字符串一样
    # -------------------------------------------------
    
    # <增>
    # append  在末尾追加
    # li = ["wang","jian","wei"]
    # li.append("superman")
    # print(li)
    # 结果:['wang', 'jian', 'wei', 'superman']
    
    # insert  插入:根据输入的索引插入相应的值
    # li = ["wang","jian","wei"]
    # li.insert(1,"张三")
    # print(li)
    # 结果:['wang', '张三', 'jian', 'wei']
    # --------------------------------------------------------
    
    # <删>
    # pop   删除,默认删除最后一个,可以指定删除的索引值
    # li = ["wang","jian","wei"]
    # li.pop()
    # print(li)
    # 结果:['wang', 'jian']
    
    # li.pop(2)
    # print(li)
    # 结果:['wang', 'jian']   ###将索引值为2的值删除
    
    # remove    通过输入字符串直接删除
    # li = ["wang","jian","wei"]
    # li.remove("jian")
    # print(li)
    # 结果:['wang', 'wei']
    
    # del   通过索引删除对应的值
    # li = ["wang","jian","wei"]
    # del li[0]
    # print(li)
    # 结果:['jian', 'wei']
    # -----------------------------------------------------------
    
    #<改>
    # 可以通过索引直接将对应的值修改为等号右边的值
    # li = ["wang","jian","wei"]
    # li[0]="123"
    # print(li)
    # 结果:['123', 'jian', 'wei']
    
    # 指定的索引位置插入指定的值
    # li = ["wang","jian","wei"]
    # li.insert(1,"王剑威")
    # print(li)
    # 结果:['wang', '王剑威', 'jian', 'wei']
    # -----------------------------------------------------------------
    
    #<查>
    # 列表是可迭代的,所以支持for循环,通过for循环可以遍历出列表的每一个值
    # li = [1,2,3,4,5,6,7]
    #  for n in li:
    #      print(n)
    # 结果: 1
    # 2
    # 3
    # 4
    # 5
    # 6
    # 7
    
    # 索引区间取值
    # li = [1,2,3,4,5,6,7]
    # print(li[1:3])
    # 结果:[2, 3]
    
    # 通过索引倒着取值,从-1到最后,都是负的,倒着取值需要些不长为-1.否则取得值为空
    # li = [1,2,3,4,5,6,7]
    # print(li[-1::-1])
    # 结果:[7, 6, 5, 4, 3, 2, 1]
    # -----------------------------------------------------------------------------------
    
    #<列表的嵌套>
    # li = ["亚瑟","李白","韩跳跳",["王昭君",["夏侯惇",["周杰伦","安其拉"]]],["牛魔王"]]
    # print(li)
    # 结果:['亚瑟', '李白', '韩跳跳', ['王昭君', ['夏侯惇', ['周杰伦', '安其拉']]]]
    
    # 嵌套的列表的for循环
    # for n in li:
    #     print(n)
    # 结果:亚瑟
    # 李白
    # 韩跳跳
    # ['王昭君', ['夏侯惇', ['周杰伦', '安其拉']]]
    # ['牛魔王']
    
    # 请输出周杰伦
    # print(li[3][1][1][0])
    # 结果:周杰伦

    2.元祖常用操作

    # >元组:元组 元组和list差不多,俗称不可变的列表,又被称为只读列表,所以不支持增删改,只支持查(有些情况下是可以改的)
    # 元组的格式
    #    变量名 = (元素1,元素2,....)
    
    # 注意以下情况,当元组中只有一个元素时,元组中的内容会被当做字符串处理,数字是也一样
    # tu = ("wang")
    # print(type(tu))
    # <class 'str'>
    # tu1 = (123)
    # print(type(tu1))
    # <class 'int'>
    # 所以当元组中只有一个元素时,需要在这唯一的一个元素后面加一个逗号作为分隔
    # tu = ("wang",)
    # print(type(tu))
    # <class 'tuple'>
    #--------------------------------------------------------------------------------------------------------
    
    #<查>
    # tu = ("张",True,123,"QQ","Google")
    # 查找元素的索引值,还可以添加起始,终止位置.和列表字符串的使用一样
    # print(tu.index("张"))
    # 结果:0
    # print(tu.index(True))
    # 结果:1
    
    # 通过索引值输出元素
    # print(tu[1])
    # 结果:True
    
    # 通过切片输出元素,和列表字符串的使用方法一致
    # print(tu[0:2])
    # 结果:('张', True)
    # print(tu[-1::-1])
    # 结果:('Google', 'QQ', 123, True, '张')
    ###被切片后的数据依旧还是元组类型的数据
    # -------------------------------------------------------------------------------------------
    
    ### 特殊情况一 ###
    ### 可修改的元组,当元组嵌套列表时,本身元组是不可变的, ###
    ### 但是仔细想,不可变的是元组,我要是修改的是列表,我只要保证我的列表在元组的位置不变,是否可以. ###
    # p1 = ("马云","马化腾",["刘强东","QQ"])
    # p1[2][1] = "Google"
    # print(p1)
    # 结果:('马云', '马化腾', ['刘强东', 'Google'])  将元组中的列表中的QQ变成了Google
    # p1[2].append("SKY")
    # print(p1)
    # 结果:('马云', '马化腾', ['刘强东', 'Google', 'SKY'])   向元组中的列表追加SKY
    
    ### 关于不可变, 注意: 这里元组的不可变的意思是子元素不可变. 而子元素内部的子元素是可
    ### 以变, 这取决于子元素是否是可变对象.
    # ===========================================================
    
    #元组同样支持for循环
    #tu = ("one","two",3,"四",[5,"6","7"],("8",9))
    #for n in tu:
    #     print(n)
    # 结果:  one
    #       two
    #       3
    #
    #       [5, '6', '7']
    #       ('8', 9)
    ###只会循环元组的子元素,不会循环子元素的内部.
    
    # count 统计
    # tu = (1,2,"1","2",1,"1","2",["2"],("1"))
    # print(tu.count(1))
    # 结果:2
    # print(tu.count("2"))
    # 结果:2
    ### 在统计元组时只会统计元组的子元素,不会统计子元素的内部
    
    # print(len(tu))
    # 结果:9
    ### 每一个子元素算一个,子元素的内部不算
    
    # index 根据元素查找索引值
    # print(tu.index(["2"]))
    # 结果:7
  • 相关阅读:
    自动驾驶技术其实是一个美丽的谎言
    自动驾驶技术其实是一个美丽的谎言
    Shoutem旨在成为React Native移动应用领域的WordPress
    Mongodb安装
    spring mvc记录各个controller访问开始结束时间,以及耗时时间 线程安全
    python 升级
    SpringMVC的拦截器Interceptor
    使用org.apache.tools.zip实现zip压缩和解压
    使用 ResponseBodyAdvice 拦截Controller方法默认返回参数,统一处理返回值/响应体
    Python爬虫入门教程 4-100 美空网未登录图片爬取
  • 原文地址:https://www.cnblogs.com/594504110python/p/9268450.html
Copyright © 2011-2022 走看看