• 元组+字典类型day06


    一、元组类型

    1、用途:元组是不可变的列表,能存多个值。如果多个值只有取的需求,而没有改的需求,那么用元组最合理,因为列表占用内存比较大

    2、定义方式:在()内用逗号分隔开,能存放任意类型的值

    强调:当元组中只有一个元素时,务必记住加一个逗号,如果不加逗号,这里默认变量是括号里的类型

    3、常用操作+内置方法

    1、按索引取值(正向取+反向取);只能取

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

    3、长度  

      names=('alex','egon','wxx','lxx','cxxx')
      print(len(names))    #5

    4、成员运算in 和not in

    5、循环

    names=('aa','bb','cc','dd')

    for item in names

      print(item)

    总结


    1、可以存一个值or多个值

      能存多个值,值可以是任意类型

    2、有序or无序

      有序

    3、可变or不可变

      不可变

    列表可变的底层原理:

      指的是:索引所对应的值的内存地址是可以改变的,但是列表的内存地址是不变的

    元组不可变的底层原理:

      指的是索引所对应的值的内存地址是不可以改变的

      或者反过来说,只要是索引对应值的内存地址没有改变,那么元组始终是没有改变的

    # t1=(['a','b','c'],'wc','office')
    #
    # print(id(t1[0]))    #10158808           注:元组不变指的是只要索引对应的内存地址没有变,那么元组始终是没有改变的
    # print(id(t1[1]))    #6313760
    # print(id(t1[2]))    #10119168
    #

    二、字典类型

    1、基本使用

    1、用途:用来存多个值,但每一个值都有一个key与之对应,key对值有描述作用。一般用来存多个表示不同状态的值

    2、定义方式:{}内用逗号分隔开多个元素,每个元素都是key:value的形式。

          其中,value可以是任意数据类型,但是key必须为不可变类型,key通常时字符串类型

    3、常用操作+内置方法

    a、按key取值,可存可取

    b、长度运算

    c、成员运算in和not in

      注:字典的成员运算比较的是key

    d、删除

    # d={'x':1,'y':2}
    # del d['x']        #通用的删除,列表等都能用
    # print(d)
    
    # res=d.pop('y')    #是有返回值的删除,其中返回值是删掉的元素中的value
    # print(d)      #{'x': 1}
    # print(res)    #2
    
    # res=d.popitem()       #
    # print(d)            #因为字典是无序的,所以,是随机删除
    # print(res)          #返回值是删掉的那组元素,返回形式是元组('y', 2)
    
    # d={'a':1,'b':2,'c':3,'d':4}
    # for k in d:             #取出key
    #     print(k)
    View Code

    e、循环字典得到是字典的key

    #6、循环
    # msg_dic={
    # 'apple':10,
    # 'tesla':100000,
    # 'mac':3000,
    # 'lenovo':30000,
    # 'chicken':10,
    # }
    # 只取key
    # for k in msg_dic:
    #     print(k,msg_dic[k])
    
    # for k in msg_dic.keys():
    #     print(k,msg_dic[k])
    
    # 只取value
    # for v in msg_dic.values():
    #     print(v)
    
    #取key和value
    # for k,v in msg_dic.items(): #k,v=('apple', 10)
    #     print(k,v)
    View Code

    f、

    # d={'x':1,'y':2,'z':3}
    # v=d.get('xxxx') #通过key将字典中的数据取出来,如果key不在字典内会返回None不会报错
    # print(v)
    # print(d['xxxxxxx']) #直接用d[key]形式如果key不在字典内,则会报错,

    g、

    # d={'x':1,'y':2,'z':3}
    # d1={'a':1,'x':1111111}
    # d.update(d1) #可以将d1的列表合入d中,其中,如果d中有的key,会将d1中的key的赋值给d的,
    # # d中没有的会将,会将d1中的key:value放入d中
    # print(d) #{'x': 1111111, 'y': 2, 'z': 3, 'a': 1}

    h、

    l=['name','age','sex']
    d=dict.fromkeys(1,None) #{'name': None, 'age': None, 'sex': None}将列表快速初始化为字典

    i、setdefault

    1、如果字典中有setdefault指定的key,那么不改变key对应的值,返回原来字典中的value

    2、如果字典中没有setdefault指定的key,那么在字典中增加一个key:value,返回新增的value

    总结


    1、存一个值or存多个值

    可以存多个值,值都可以是任意类型,而key必须是不可变类型,通常时字符串类型

    2、有序or无序

    无序

    3、可变or不可变

    可变

    
    
    
  • 相关阅读:
    剑指 Offer 50. 第一个只出现一次的字符
    剑指 Offer 42. 连续子数组的最大和
    剑指 Offer 41. 数据流中的中位数
    剑指 Offer 40. 最小的k个数
    剑指 Offer 39. 数组中出现次数超过一半的数字
    剑指 Offer 38. 字符串的排列
    MySQL更改密码
    WPF中的MySQLHelper
    WPF多线程
    mysql-5.7.28-winx64(压缩包)安装教程
  • 原文地址:https://www.cnblogs.com/xiaocao736427460/p/9126330.html
Copyright © 2020-2023  润新知