• day5


    2.6字典dict。

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

    可哈希(不可变)的数据类型:str, bool, int, tuple

    不可哈希(可变)的数据类型: list, dict, set

    容器型的数据类型:list, dict ,tuple, set

    非容器型的数据类型; str, bool, int

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

    2.6.1、

    # dic['li'] = ["a","b","c"]
    # print(dic)
    # setdefault 在字典中添加键值对,如果只有键那对应的值是none,但是如果原字典中存在设置的键值对,则他不会更改或者覆盖。
    # dic.setdefault('k','v')
    # print(dic)  # {'age': 18, 'name': 'jin', 'sex': 'male', 'k': 'v'}
    # dic.setdefault('k','v1')  # {'age': 18, 'name': 'jin', 'sex': 'male', 'k': 'v'}
    # print(dic)

    复制代码
    # dic['li'] = ["a","b","c"]
    # print(dic)
    # setdefault 在字典中添加键值对,如果只有键那对应的值是none,但是如果原字典中存在设置的键值对,则他不会更改或者覆盖。
    # dic.setdefault('k','v')
    # print(dic)  # {'age': 18, 'name': 'jin', 'sex': 'male', 'k': 'v'}
    # dic.setdefault('k','v1')  # {'age': 18, 'name': 'jin', 'sex': 'male', 'k': 'v'}
    # print(dic)
    复制代码

    2.6.2、

    # dic_pop = dic.pop("a",'无key默认返回值') # pop根据key删除键值对,并返回对应的值,如果没有key则返回默认返回值
    # 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

    复制代码
    # dic_pop = dic.pop("a",'无key默认返回值') # pop根据key删除键值对,并返回对应的值,如果没有key则返回默认返回值
    # 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
    复制代码

    2.6.3、

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

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

    2.6.4、

    # value1 = dic["name"]  # 没有会报错
    # print(value1)
    #
    # value2 = dic.get("djffdsafg","默认返回值")  # 没有可以返回设定的返回值
    # print(value2)

    # value1 = dic["name"]  # 没有会报错
    # print(value1)
    #
    # value2 = dic.get("djffdsafg","默认返回值")  # 没有可以返回设定的返回值
    # print(value2)

    2.6.5、其他操作。

    # item = dic.items()
    # print(item,type(item))  # dict_items([('name', 'jin'), ('sex', 'male'), ('age', 18)]) <class 'dict_items'>
    # 这个类型就是dict_items类型,可迭代的
    
    # keys = dic.keys()
    # print(keys,type(keys))  # dict_keys(['sex', 'age', 'name']) <class 'dict_keys'>
    
    # values = dic.values()
    # print(values,type(values))  # dict_values(['male', 18, 'jin']) <class 'dict_values'> 同上

    复制代码
    # item = dic.items()
    # print(item,type(item))  # dict_items([('name', 'jin'), ('sex', 'male'), ('age', 18)]) <class 'dict_items'>
    # 这个类型就是dict_items类型,可迭代的
    
    # keys = dic.keys()
    # print(keys,type(keys))  # dict_keys(['sex', 'age', 'name']) <class 'dict_keys'>
    
    # values = dic.values()
    # print(values,type(values))  # dict_values(['male', 18, 'jin']) <class 'dict_values'> 同上
    复制代码

    字典的循环。

    # 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) 

    列表的嵌套

    # fromkeys()
    dic = {'name': 'alex'}
    dic = dict.fromkeys('abc', '春哥')
    # dic = dict.fromkeys([1, 2, 3],'春哥')
    # 坑:值如果是可变的数据类型,那么所有的值都是一个内存地址
    # dic = dict.fromkeys([1, 2, 3], ['alex'])
    # dic[1].append(666)
    print(dic)
     
     
    作者:Mark.Yang

    -------------------------------------------

    个性签名:就算要出卖灵魂,也要找个付的起价钱的人

    如果觉得这篇文章对你有小小的帮助的话,记得在右下角点个“推荐”哦,博主在此感谢!

  • 相关阅读:
    php method_exists( $object , string $method_name )
    php伪类型 (mixed)
    6.6-2-数组与数据结构(用数组及其函数实现堆栈等数据结构)
    6.6-1-php数组相关(2)
    2017.6.5-2-php数组相关(1)
    2017.6.5-1-php函数应用及流程控制
    CodePage
    bat批处理教程
    pip安装及源
    CentOS安装Python3
  • 原文地址:https://www.cnblogs.com/yang950718/p/10201661.html
Copyright © 2020-2023  润新知