zoukankan      html  css  js  c++  java
  • 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")
  • 相关阅读:
    项目管理【44】 | 项目干系人管理-识别干系人
    移动端开发基础【15】H5和小程序开发注意事项
    召回率recall,IoU, mPA理解,针对video detection领域
    转:batch normalization, instance normalization, layer normalization, group normalization
    自监督(对比学习)资料
    转:非极大值抑制(Non-Maximum Suppression,NMS)
    转:Zero-shot Learning / One-shot Learning / Few-shot Learning
    转:top1错误率、top5正确率
    转:如何理解Inductive bias?
    台式机更新后没有声音了怎么办,Realtek音频管理器
  • 原文地址:https://www.cnblogs.com/steven223-z/p/12469469.html
Copyright © 2011-2022 走看看