• python 字典的操作


    可变类型与不可变类型

    (字典的键必须是不可变类型的即时可哈希的)

    不可变类型,值不可以改变:(可哈希)

    • 数值类型 int, long, bool, float
    • 字符串 str
    • 元组 tuple

    可变类型,值可以改变:(不可哈希)

    • 列表 list
    • 字典 dict

    字典的常见操作:

    #增加

    变量名['键'] = 数据

    如果在使用 变量名['键'] = 数据 时,这个“键”在字典中,存在,覆盖这个键值对。不存在,那么就会新增这个元素

    dict.setdefault(“键值”,"数据")

    有键值对不做任何操作,没有键值就会增加

    # 删除

    dict.pop("键值") 

    有返回值,按键删除,如果没有此建会报错

    dict.pop("键值", None)

    按键删除,None可换成提示,没有键值会返回提示,有键值会直接删除

    dict.popitem()

    在不同python版本中不同:

    python3.6之前dict={x:x}print打印无序的,popitem()删除的时候是删除打印后的第一个

    python3.6   dict打印是有序的,即如何设置的就如何打印,popitem()删除的时候就是删除的最后一个

    dict.clear()

    清空字典

    del dict[键值]

    del可以删除整个字典,也可以按键删除

    # 修改

    dict["键值"]=val

    直接根据键值对其赋值,如果键值不存在,会直接增加对应键值对

    dict.update(dict1)

    把dict1 的键值对覆盖到dict中

    # 查找

    dict.keys()

    遍历键值

    dict.values()

    遍历值

    dict.item()

    遍历元素

    dict.get(“键值”)

    根据键值查找值,可以自定义返回值,未找到时有返回值,比如dict.get("键值",“未找到”)

    dict["键值"]

    找不到报错,找到返回对应的值

  • 相关阅读:
    java封装
    本人的其他博客
    codeforces 1000C
    1005E1 Median on Segments (Permutations Edition) 【思维+无序数组求中位数】
    1009E Intercity Travelling 【数学期望】
    codeforces 1009D Relatively Prime Graph【欧拉函数】
    1077E Thematic Contests 【二分答案】
    codeforces 1077D Cutting Out 【二分】
    【非原创】ZOJ
    数字千万别用puts!
  • 原文地址:https://www.cnblogs.com/wilson-wu/p/8073028.html
Copyright © 2020-2023  润新知