• Python基础数据类型之字典


     

     基础数据类型之字典

    ps:数据类型划分:可变数据类型和不可变数据类型。

    不可变数据类型:元组(tupe)、布尔值(bool)、整数型(int)、字符串(str)。不可变数据类型也称为可哈希。

    可变数据类型:列表(list)、字典(dict)、集合(set)。可变数据类型也称为不可哈希。

    字典

      字典是python中唯一的映射类型,采用键值对(key-value)的形式存储数据。python对key进行哈希函数运算,根据计算的结果决定value的存储地址,所以字典是无序存储的,且key必须是可哈希的。可哈希表示key必须是不可变类型,如:数字、字符串、元组。

      字典(dictionary)是除列表意外python之中最灵活的内置数据结构类型。列表是有序的对象结合,字典是无序的对象集合。两者之间的区别在于:字典当中的元素是通过键来存取的,而不是通过偏移存取。

    字典的增删改查:

    增:

    dic1 = {'age':18,'name':'jin','sex':'male'}
    dic1['high'] = 185

    直接增加,原字典中没有时直接添加到原字典的后面。

    dic1 = {'age':18,'name':'jin','sex':'male'}
    dic1['age'] = 38

    如果增加的内容在原来的字典中有这对键值,那么会对原来的键值进行修改。

    dic1 = {'age':18,'name':'jin','sex':'male'}
    dic1.setdefault('weight')

      dic1.setdefault('')        在字典中添加键值对,如果只有键那对应的值是none

    dic1['high'] = 185
    dic1.setdefault('weight',150)
    dic1.setdefault('name','二哥')

     dic1.setdefault('')     如果原字典中存在设置的键值对,则他不会更改或者覆盖。


    删除

    dic_pop = dic.pop("a",'无key默认返回值') # pop根据key删除键值对,并返回对应的值,如果没有key则返回默认返回值,可以有返回值print(dic_pop)
    print(dic) print(dic_pop) del dic[
    "name"] # 没有返回值。 print(dic) dic_pop1 = dic.popitem() # 随机删除字典中的某个键值对,将删除的键值对以元祖的形式返回 print(dic_pop1) # ('name','jin') dic_clear = dic.clear() # 清空字典 print(dic,dic_clear) # {} None 字典的删

     例如:

    dic1 = {'age':18,'name':'jin','sex':'male'}
    dic1.pop('age')
    print(dic1.pop('二哥',None))
    print(dic1)
    dic1.popitem()
    print(dic1.popitem())
    print(dic1)
    del dic1['name']
    print(dic1)
    del dic1
    print(dic1)
    dic1.clear()
    print(dic1)

     修改:

    dic1 = {'age':18,'name':'jin','sex':'male'}
    dic1['age'] = 38
    print(dic1)
    
    dic={'name':'jinxin','age':18,'sex':'male'}
    dic2={'name':'alex','weight':75}
    dic2.update(dic)   将dic所有的键值对覆盖添加(相同的覆盖,没有的添加)到dic2中
    print(dic2) print(dic) dic1
    = {'age':18,'name':'jin','sex':'male'}

     查:

    dic1 = {'age':18,'name':'jin','sex':'male'}
    print(dic1.keys(),type(dic1.keys()))      #没有会报错
    print(dic1.values())        #没有会报错
    print(dic1.items())      #没有会报错
    v2 = dic1['ame']      不是在里面的键会报错
    print(v2)
    print(dic1.get('name'))
    print(dic1.get('nme','没有这个'))
    for i in dic1 :
        print(i)
    for i in dic1.keys() :
        print(i)
    for i in dic1.values() :
        print(i)
    for k,v in dic1.items() :
        print(k,v)
    v1 = dic1['age']
    print(v1)

    for循环输出字典里的键值对

    其他操作:

    dic = {"name":"jin","age":18,"sex":"male"}
    for key in dic:
        print(key)
    for item in dic.items():
        print(item)
    for key,value in dic.items():
        print(key,value)  

     

  • 相关阅读:
    纯手写F3飞控的直升机固件(2.直升机倾斜盘混控了解)
    STM32输出PWM
    使用多个交叉编译器
    内核编译报错
    mdm9607平台2.2版本 编译指令
    linux 应用编程APIS
    linux 内核API总结
    Do away with the notion of hardsect_size
    大端 小端和网络字节序说明
    TI tlv320aic3104 codec调试之路径控制
  • 原文地址:https://www.cnblogs.com/DI-DIAO/p/8073934.html
Copyright © 2020-2023  润新知