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")
  • 相关阅读:
    java的构造方法 java程序员
    No result defined for action cxd.action.QueryAction and result success java程序员
    大学毕业后拉开差距的真正原因 java程序员
    hibernate的回滚 java程序员
    验证码 getOutputStream() has already been called for this response异常的原因和解决方法 java程序员
    浅谈ssh(struts,spring,hibernate三大框架)整合的意义及其精髓 java程序员
    你平静的生活或许会在某个不可预见的时刻被彻底打碎 java程序员
    Spring配置文件中使用ref local与ref bean的区别. 在ApplicationResources.properties文件中,使用<ref bean>与<ref local>方法如下 java程序员
    poj1416Shredding Company
    poj1905Expanding Rods
  • 原文地址:https://www.cnblogs.com/steven223-z/p/12469469.html
Copyright © 2011-2022 走看看