• python学习笔记-列表、元组字典


    列表

    1、定义和写法

    用中括号括起来

    用,分割每个元素

    列表中的元素可以是数字,字符串,列表,布尔值,所有的都能放进去

    “集合”,内部可放置任何东西

    2、用法

    #索引取值
    li=[1,12,9,"age",["steven","a",["b","c"],"D"]]
    print(li[3])
    #切片,切片结果也是列表
    print(li[2:-1])
    #for 循环
    #while循环
    for item in li:
        # if type(item)==list:
        #     for i in item:
        #         print(i)
        #     continue
        print(item)
    #列表元素可以被修改
    #修改
    li[1]=120
    #删除,第一种方式
    del li[1]
    #通过切片的方式进行修改
    li[1:3]=[120,90]
    del li[2:6] #通过切片删除
    #in 操作
    v=12 in li #结果为True
    # 字符串转列表
    s='agcdefgh'
    newLi=list(s) #转化成列表,调用for循环,对每个字符进行分隔
    #结果为:['a', 'g', 'c', 'd', 'e', 'f', 'g', 'h']
    # 列表转字符串
    li=[11,22,33,"123","abcd"]
    t=str(li)#只是把整个列表加引号变成字符串
    #列表转化成字符串,要自己写for循环。既有数字又有字符串时
    #直接使用join的方法,列表全部只有字符串时可用
    str1="".join(li[3:5])

    3、其他方法

    li.append("NB")#追加,列表可以修改,在原来值最后追加
    li.clear()#清空列表
    li.copy()#拷贝
    li.count(12)#计算元素出现的次数
    li.extend(iterable)#扩展原列表,传入可迭代对象,参数
    #li.extend([9898,"其他"])
    li.index(12)#根据值获取当前值索引位置,左边优先
    #index(self,value,start,stop)
    li.insert(0,99)#在指定索引位置插入元素
    li.pop(2)#删除某个值,并获取删除的值,默认删除最后一个
    li.remove(12)#删除列表中的指定值,左边优先
    li.reverse()#将当前列表进行反转
    li.sort()#排序,从小到大
    li.sort(reverse=True)#从大到小

    元祖

    1、定义

    一般写元祖的时候,推荐再最后加入,

    元素不可被修改,不能被增加或删除

    索引,切片,for循环,可迭代对象

    2、用法

    s="dkajdjfka"
    li=[]
    tu=()
    #字符串,列表转化成元祖
    r=tuple(s)
    v=tuple(li)
    #元祖转化成列表
    v=list(tu)
    # 元组的一级元素不可修改/删除/增加,当里面嵌套的列表时,列表可以被修改
    tu=(111,"steven",(11,22),[(33,44)],True,33)
    tu[3][0]=555
    #其他方法
    tu.count(33) #获取指定元素在元祖中出现的次数
    tu.index(33) #获取某一个值在元组内的索引

    字典

    1、定义

    # 创建
    info={"k1":"v1","k2":"v2"}
    
    # 字典的value可以是任何值
    info={1:"asdf","k1":"asdf",(22,33):123}
    key可以是数字,字符串,元祖,布尔。列表字典不能作为key
    字典是无序的

    补充:key相同时,字典的一个key会被覆盖
    True为key时,应默认为1,会覆盖key为1的一个元素

    2、用法

    #for循环
    info={1:"asdf","k1":"asdf",(22,33):123}
    for item in info:              #默认根据key循环
        print(item)
    
    for item in info.values():     #循环value
    # for item in info.keys():     #循环key
        print(item)
    
    for k,v in info.items():       #循环健值对
        print(k,v)
    
    
    #其他方法
    info.clear() #清除
    info.copy()  #拷贝
    #fromkeys()静态方法,根据序列,创建字典并指定统一的值
    dicNew=dict.fromkeys(["k1",123,"999"],123)#{'k1': 123, 123: 123, '999': 123}
    #get()
    v=dicNew["k1"]
    v=dicNew.get("k4",1111)#根据key获取值,key不存在时可以指定默认值,默认是None
    #pop()
    v=dicNew.pop("k1")
    v=dicNew.pop("k4",90) #删除指定的值,并获取删除的值,加参数时删除的值不存在时,获取指定的值
    #popitem()
    v=dicNew.popitem()#随机删除,并获取删除的键值对(元组)
    k,v=dicNew.popitem()
    #setdefault()设置值
    v=dicNew.setdefault("k11","223")
    #已存在,不设置,获取当前key对应的值;不存在,设置,获取当前key对应的值 223
    #update()更新
    dicNew.update({"k1":"1111","k3":123})
    dicNew.update(k1=333,k3=345,k5="asdf")
  • 相关阅读:
    eclipse中的Invalid text string (xxx).
    在jsp文件中出现Unknown tag (c:out)
    eclipse 界面复原
    ecilpse 纠错插件
    Multiple annotations found at this line:- The superclass "javax.servlet.http.HttpServlet" was not found on the Java Build Path
    Port 8080 required by Tomcat v9.0 Server at localhost is already in use. The server may already be running in another process, or a system process may be using the port.
    调用第三方https接口
    调用第三方http接口
    创建带值枚举
    spring整合redis之Redis配置文件
  • 原文地址:https://www.cnblogs.com/steven223-z/p/12469469.html
Copyright © 2020-2023  润新知