• day06 Python 字典


    1、字典的简单介绍
    字典(dict)是python中唯一的⼀个映射类型.他是以{ }括起来的键值对组成. 在dict中key是唯一的. 在保存的时候, 根据key来计算出一个内存地址. 然后将key-value保存在这个地址中. 这种算法被称为hash算法, 所以, 切记, 在dict中存储的key-value中的key必须是可hash的, 如果你搞不懂什是可哈希, 暂时可以这样记, 可以改变的都是不可哈希的, 那么可哈希就意味着不可变. 这个是为了能准确的计算内存地址⽽规定的.

    已知的可哈希(不可变)的数据类型: int, str, tuple, bool 不可哈希(可变)的数据类型: list, dict, set

    语法 :

    {key1: value1, key2: value2....}

    注意: key必须是不可变(可哈希)的. value没有要求.可以保存任意类型的数据

    2、字典操作

    dict1 = {}
    dict1["1"] = "a" # 如果字典不存在key则新增,否则修改
    dict1["2"] = 2
    dict1["2"] = "B" # 如果key不存在,则新增;如果存在则覆盖原来的key:value
    
    # 如果字典中不存在这个key,setdefault()将新增一个新的key:value;如果存在这个key,setdefault()不会覆盖原来的key:value
    dict1.setdefault("3","c")
    dict1.setdefault("3","default")
    
    dict1.pop("3")
    dict1.popitem()  # 随机删除
    dict1.clear() # 清空字典
    
    dict2 = {"1":"fhb","2":"test","100":"A"}
    dict1.update(dict2) # 将dict2中的key value更新到dict1中,存在的key则修改对应的value,不存在则新增
    # print(dict1["fhb"]) # KeyError: 'fhb'
    
    print(dict1.get("fhb")) # None
    
    # 遍历
    for k,v in dict1.items(): # 循环dict1.items()得到的是一个元组,使用k,v去解构这个元组得到key个value
        print(k,v)
    

    3、实例

        有如下值li= [11,22,33,44,55,66,77,88,99,90],将所有大于 66 的值保存至字典的第一个key中,将小于 66 的值保存至第二个key的值中。

    即: {'k1': 大于66的所有值列表, 'k2': 小于66的所有值列表} 。

    li = [11,22,33,44,55,66,77,88,99,90]
    dict2 = {}
    
    for k in li:
        if k > 66:
            dict2.setdefault("k1",[]).append(k) # 第一次循环的时候 dict2.setdefault("k1",[]) 会在空字典中创建{"k1",[]} ,返回的是一个 空列表,所以可以直接append()
        else: 
            dict2.setdefault("k2",[]).append(k)
            
    print(dict2)
    

      

     

      

  • 相关阅读:
    Iptables 之二扩展模块 nat
    sudo 命令
    7、CentOS6 编译安装
    MySQL5.7 基础之二 DCL DML
    SQL Server 2008R2安装
    6、httpd2.4 编译安装LAMP
    MySQL 基础之一
    gulp
    msbuild
    inno setup
  • 原文地址:https://www.cnblogs.com/fanghongbo/p/9837113.html
Copyright © 2020-2023  润新知