zoukankan      html  css  js  c++  java
  • 字典

    一. 字典

    字典的键必须是不可变的, 是可哈希的, 可以用数字, 字符串, 元组, 布尔值, 不可用列表, 字典, 集合. 值可以取任何数据类型. 

    键必须是唯一的. 

    字典的元素是按照哈希表的顺序保存的, 而哈希表不是连续的, 字典不能切片, 只能通过键来获取. 

    二. 字典的操作:

    dic = {1: '1', 2: '2', "3": 3, 4: 4, 5: 5}

    dic["6"] = 6                         如果键已存在, 变为修改值

    dic.setdefault(7, 7)

    dic.setdefault(8)                 这个键的值是None

    dic.setdefault(1, 3)             键已经存在, 不会采取操作

    dic.setdefault(1: 3)             这样会报错

    dic.pop(1)                       返回key 1的值, 不存在会报错

    del dic["3"]                      不存在会报错

    dic.popitem()                  随机删除

    dic.clear()                       清空字典

    dic["3"] = 100            如果键不存在会添加

    dic2 = {1:100, 9:900}

    dic.update(dic2)            dic2中的键值对会替换dic中的键值对, 同时dic中没有的dic2的键值对会添加到dic中

    print(dic[1])

    print(dic.setdefault(1))                  不存在键会输出None

    print(dic[99])                                 不存在键会报错

    print(dic.get(1))

    print(dic.get(99))                           None

    print(dic.get(99, "dsfjhkau"))         输出dsfjhkau

    嵌套

    dic = {1:1, 2:2, 3:{4:4, 5:5, 6:{7:7, 8:8}, 9:9}, 10:10}

    print(dic[3][6][7])                                                   输出7

    print(dic.get(3).get(6).get(7))                                输出7, 如果第一个get输出None, 对None用get查询会报错

      print(dic.get(3).get(6).get(99, "adjksas"))              输出adjksas

    其他

    print(dic.keys())       键的高仿列表

    print(dic.values())    值的高仿列表

    print(dic.items())      元组形式的键值对的高仿列表

    a, b = "12"               将字符串12解构打开, 按位置赋值给a, b

    a, b = (1, 2)

    a, b = [1, 2]

    print(a)

    print(b)

     

    for a, b in dic.items():

        print(a)

        print(b)

    dic = {}

    dics = dic.fromkeys([1,2,3],'abc')

    print(dics)

    dic = dict.fromkeys("12")

    print(dic)                                                 输出{'1': None, '2': None}

  • 相关阅读:
    NGINX+uWsgi部署Django项目
    centos7 docker启动服务,无法通过宿主机ip进行访问
    基于docker 搭建Prometheus+Grafana
    centos7安装MySQL5.7
    centos7下安装python7
    loadrunner27257问题解决办法
    学习Python+selenium自动化感想
    find_element和find_elements
    正则表达式
    Jdk自带的Windows性能监控工具JVM
  • 原文地址:https://www.cnblogs.com/NachoLau/p/9400100.html
Copyright © 2011-2022 走看看