• 元组 与 字典


    一、什么是元组:元组就是一个不可变的列表

    1:用途:

    存多个值,但是只有读的需求,没有改的需求。

       强调:在元素个数相同的情况下, 使用元组更加节省空间。

    2:定义方式

    t=(1,2,3,4,5,6)  #t=tuple((1,2,3,4))

    3:常用操作+内置的方法

    优先掌握的操作

    1:按照索引取值(正向取+反向取, 只能取)

    t=(1,2,3,4,5,6,7,8,9)
    print(t[0:8:3])         # 打印结果  1 4 7

    2:切片 (顾头不顾尾,步长)

    t=(1,2,3,4,5,6)
    print(t[1:4])    #打印结果 (2, 3, 4)

    3:长度  len

    t=(1,2,3,4,5,6)
    print(len(t))    #打印结果   6
    

    4 成员运算in和not in 

    t=(1,2,3,4,5,6)
    print (2 in t)    #打印结果  True
    

    5  循环  

    t=(1,2,3,4,5,6)
    i=0
    while i< len(t):
        print(t[i] ,end=" ")    #end=""表示不换行
        i+=1                  #打印结果  1 2 3 4 5 6
    
    
    t=(1,2,3,4,5,6)
    for item  in t:
        print(item,end=' ')    #打印结果  1 2 3 4 5 6

    6  index  固定元素的索引

    t=(1,2,3,4,5,6)
    print(t.index(2))    #打印结果 1  表示第1位

    7 count 某个元素的个数

    t=(1,2,3,4,5,6,3,3,3,3,3,3,2)
    print(t.count(3))    #打印结果为7  表示这个元祖里有7个3

    该类型总结

     1 存多个值 ,2 有序  ,3 不可变

     

    二,字典

    1:  用途 :以key:value 的形式存多个值

         优点:存取都快,每个值都有一个 对应的key

    2,定义方式:{}内以逗号分隔多个元素,格式为 key:value

         其中key必须为不可变类型,value可以是任意类型

    dic={'x':1,'y':1,'x':1111}
    print(dic)    #打印结果     {'x': 1111, 'y': 1}

    3:常用操作+内置的方法

    3.1     按key存取值,可存可取

    dic={'name':'egon'}
    dic['age']=10
    print(dic)   #  打印结果 {'name': 'egon', 'age': 10}  将'age':10  这个元素放入字典里
    dic={'name':'egon'}
    dic['age']=10
    dic['name']='EGON'
    print(dic)     #打印结果    {'name': 'EGON', 'age': 10}    ,将‘age':10 存入字典里,  将'name':egon 这个元素更改为‘name':EGON 元素放入字典里, 
    dic={'name':'egon'}
    dic['age']=10
    dic['name']=dic['name'].upper()
    print(dic)    #打印结果 {'name': 'EGON', 'age': 10}    将'age': 10 这个元素放入字典里,并将 name的vulae 值大写

    3.2 长度 len 判断字典里有几个元素,key的个数则代表字典里元素的个数

    dic={'name':'egon','age':18}
    print(len(dic))  #打印结果为2,表示里面有2个元素

    3.3   成员运算  in  和not in  。     判断某个元素是否在字典内,

    dic={'name':'egon','age':18}
    # print('name' in dic)    #打印结果为True  表示name  这个key和对应的值在这个字典里
    print('sex'in dic)       #打印结果为False  表示sex 这个key和对应的值不在这个字典里

    3.4   删除  dic.pop(' ',None)

    dic={'name':'egon','age':18}
    x=dic.pop('name')
    print(dic)     #打印结果为 {'age': 18}是只江name这个key与其所对应的值 删掉
    
    dic={'name':'egon','age':18}
    res=dic.pop('sex',None)
    print(res)      #打印结果为None  若是删除字典里没有的key与其所对应的值时,一般都在删除那个key的后面+ ' ,None',
    若是没有这个key的话 反馈的 结果为None,若是有的话则直接删除。 不加None的话 删除没有的Key的情况下,
    则会报错,所以一般情况为了防止报错, 在我们不确定有没有这个keyde 情况下,都要在后面加None

    3.5   键 keys 表示,值 values表示   键值对items

       

    dic={'name':'egon','age':18}
    print(dic.keys())   #打印结果  dict_keys(['name', 'age'])
    print(dic.values())   #打印结果   dict_values(['egon', 18])
    print(dic.items())    #打印结果    dict_items([('name', 'egon'), ('age', 18)])

      3.7 循环  for    用key 来循环

    dic={'name':'egon','age':18}
    for x in dic.keys():    
        print(x)                # 打印结果  name   age    打印字典里key的所有集合
    print(list(dic.keys())[0])  #打印字典里key的第一个值  name

    3.6  get 取值      get() 括号里加key,把字典里的的值取出, 若取得key 是字典里没有的则不会报错, 直接给出None的提示。

    dic={'name':'egon','age':18}
    print(dic.get('name'))   #打印结果  egon
    print(dic.get('sex'))    #d打印结果  None

    3.7     .popitem()  默认取最后一个item

    dic={'name':'egon','age':18}
    print(dic.popitem())  #打印结果 ('age', 18)
    3.8 update()  更新。更新指的是 新字典中有而老字典中没有则添加,新有而老有, 则覆盖

    dic={'name':'egon','age':18}
    dic.update({'x':1,'age':19})
    print(dic)   #打印结果   {'name': 'egon', 'age': 19, 'x': 1}

    3.9  setdefault的用处    修改的意思

    字典中有key, 则不修改, 返回原key对应的原值

    dic={'name':'egon','age':18}
    res=dic.setdefault('name','EGON')
    print('返回值',res)     #打印结果 返回值 egon   原字典中有name, 所以不修改
    print(dic)            #打印结果 {'name': 'egon', 'age': 18}
    dic={'age':18}
    res=dic.setdefault('name','EGON')
    print(dic    #打印结果   {'age': 18, 'name': 'EGON'} 原字典里没有name以及对应的值, 所以将name加进字典, 


    3.10 fromkeys 快速造成一个新的字典

    dic={'name': 'egon', 'age': 18, 'a': 1, 'z': 3, 'alex': 20}
    print({}.fromkeys(dic.keys(),'NONE'))   #打印结果{'name': 'NONE', 'age': 'NONE', 'a': 'NONE', 'z': 'NONE', 'alex': 'NONE'}




  • 相关阅读:
    ubuntu下如何批量修改文件后缀名
    vanilla
    Ubuntu apt-get 彻底卸载软件包
    Kendall Rank(肯德尔等级)相关系数
    图像质量评估(IQA)
    conda常用命令
    在ubuntu中搜索文件或文件夹的方法
    libstdc++.so.6: version `GLIBCXX_3.4.21' not found
    迅雷磁力链接转BT种子工具
    springboot 集成mybatis plus3
  • 原文地址:https://www.cnblogs.com/lx3822/p/8619219.html
Copyright © 2020-2023  润新知