zoukankan      html  css  js  c++  java
  • python--{字典}-dict

      1 # dict字典
      2 # 字典是一种组合数据, 没有顺序的组合数据, 数据以键值对形式出现
      3 # 创建空字典1
      4 d1 = {}
      5 print(d1)
      6 
      7 # 创建空字典2
      8 d2 = dict()
      9 print(d2)
     10 
     11 # 创建有值得字典, 每一组数据都用冒号隔开, 每一对键值对用逗号隔开
     12 d = {"one": 1, "two": 2, "three": 3}
     13 print(d)
     14 
     15 # 用dict创建内容字典1
     16 d = dict({"one": 1, "two": 2, "three": 3})
     17 print(d)
     18 
     19 # 用dict创建内容字典2
     20 # 利用关键字参数
     21 d = dict(one=1, two=2, three=3)
     22 print(d)
     23 
     24 
     25 d = dict([("one", 1), ("two", 2), ("three", 3)])
     26 print(d)
     27 
     28 # a = 1
     29 # b = 2
     30 # c = 3
     31 # d = 4
     32 # list = [a, b, c, d]
     33 # mydict = dict.fromkeys(list, "?")
     34 # print(mydict)
     35 
     36 # 字典的特征
     37 #     -字典是序列类型, 但是是无序的序列, 所以没有分片和索引
     38 #     -字典中的数据每个都有键值对,即KV对
     39 #         -key:必须是可哈希的值,比如int,string, float, tuple, 但是list, set, dict不行
     40 #         -value:任何值
     41 # 字典常见操作
     42 #     -访问数据
     43 d = {"one": 1, "two": 2, "three": 3}
     44 # 注意访问格式
     45 # 中括号内饰键值
     46 print(d["one"])
     47 
     48 d["one"] = "eins"
     49 print(d)
     50 
     51 # 删除某个操作
     52 # 使用del操作
     53 del d["one"]
     54 print(d)
     55 
     56 # 成员检查in, not in
     57 # 成员检查的是key内容
     58 d = {"one": 1, "two": 2, "three":3}
     59 if 2 in d:
     60     print("value")
     61 
     62 if "two" in d:
     63     print("key")
     64 
     65 if ("two", 2) in d:
     66     print("kv")
     67 
     68 
     69 d = dict([("one", 1), ("two", 2), ("three", 3)])
     70 # 遍历在python2 和 3 中区别比较大, 代码不通用
     71 # 按key来使用for循环
     72 for k in d:
     73     print(k, "--", d[k])
     74 
     75 # 同上
     76 for k in d.keys():
     77     print(k, "--", d[k])
     78 
     79 # 只访问字典的值
     80 for v in d.values():
     81     print(v)
     82 
     83 # 注意以下特殊用法
     84 for k, v in d.items():
     85     print(k, "--", v)
     86 
     87 
     88 # 字典生成式
     89 d = dict([("one", 1), ("two", 2), ("three", 3)])
     90 
     91 # 的常规字典生成
     92 dd = {k: v for k, v in d.items()}
     93 print(dd)
     94 
     95 # 加限制条件的常规字典生成
     96 dd = {k: v for k, v in d.items() if v % 2 == 0}
     97 print(dd)
     98 
     99 
    100 # 字典的相关函数
    101 # 通用函数:len, max, min, dict
    102 # *str(字典):返回字典的字符串格式
    103 d = dict([("one", 1), ("two", 2), ("three", 3)])
    104 print(d)
    105 print(str(d))
    106 
    107 
    108 # clear:清空字典
    109 # items:返回字典的键值对组成的元组格式
    110 d = dict([("one", 1), ("two", 2), ("three", 3)])
    111 # d = {'one': 1, 'two': 2, 'three': 3}
    112 print(d)
    113 i = d.items()
    114 print(type(i))
    115 print(i)
    116 
    117 
    118 # keys:返回字典的键组成的一个结构
    119 k = d.keys()
    120 print(type(k))
    121 print(k)
    122 
    123 
    124 # values:同理, 一个可迭代的结构
    125 v = d.values()
    126 print(type(v))
    127 print(v)
    128 
    129 
    130 # get :根据指定键返回相应的值, 好处是, 可以设置默认值
    131 d = dict([("one", 1), ("two", 2), ("three", 3)])
    132 print(d)
    133 print(d.get("on333"))
    134 
    135 # get 默认值是None, 可以设置
    136 print(d.get("on444", 100))
    137 
    138 # 一以下会报错
    139 # print(d["on333"])
    140 
    141 
    142 # fromkeys:使用指定的序列作为键, 使用一个值作为字典的所有的键的值
    143 l = ["eins", "zwei", "dree"]
    144 # 注意fromkeys俩个参数的类型
    145 d = dict.fromkeys(l, "hahaha")
    146 print(d)
    147 
    148 
    149 
    150 :::
    151 {}
    152 {}
    153 {'one': 1, 'two': 2, 'three': 3}
    154 {'one': 1, 'two': 2, 'three': 3}
    155 {'one': 1, 'two': 2, 'three': 3}
    156 {'one': 1, 'two': 2, 'three': 3}
    157 1
    158 {'one': 'eins', 'two': 2, 'three': 3}
    159 {'two': 2, 'three': 3}
    160 key
    161 one -- 1
    162 two -- 2
    163 three -- 3
    164 one -- 1
    165 two -- 2
    166 three -- 3
    167 1
    168 2
    169 3
    170 one -- 1
    171 two -- 2
    172 three -- 3
    173 {'one': 1, 'two': 2, 'three': 3}
    174 {'two': 2}
    175 {'one': 1, 'two': 2, 'three': 3}
    176 {'one': 1, 'two': 2, 'three': 3}
    177 {'one': 1, 'two': 2, 'three': 3}
    178 <class 'dict_items'>
    179 dict_items([('one', 1), ('two', 2), ('three', 3)])
    180 <class 'dict_keys'>
    181 dict_keys(['one', 'two', 'three'])
    182 <class 'dict_values'>
    183 dict_values([1, 2, 3])
    184 {'one': 1, 'two': 2, 'three': 3}
    185 None
    186 100
    187 {'eins': 'hahaha', 'zwei': 'hahaha', 'dree': 'hahaha'}
  • 相关阅读:
    js/es6判断对象是否为空,并判断对象是否包含某个属性
    Hive中的SQL执行计划--几乎所有的SQL都有
    spark中的scalaAPI之RDDAPI常用操作
    spark-scala开发的第一个程序WordCount
    linux中添加自定义命令
    kafka学习总结
    flume的sink写入hive表
    Flume架构以及应用介绍(转)
    Appache Flume 中文介绍(转)
    hiveSQL常用日期函数
  • 原文地址:https://www.cnblogs.com/Slxc/p/9714202.html
Copyright © 2011-2022 走看看