1 #dict字典 2 #dict是一种没有顺序的组合数据,数据以键值对的形式出现 3 #一、创建dict 4 #1、创建空dict 5 d = {} 6 print(d) 7 d = dict() 8 print(d) 9 #2、创建带值的dict 10 d = {"one":1, "two":2} 11 print(d) 12 d = dict({"one":1, "two":2}) #传入一个字典型参数 13 print(d) 14 d = dict(one=1, two=2) #传入多个关键字参数 15 print(d) 16 d= dict([("one", 1), ("two", 2)]) #传入一个list,内部嵌套tuple 17 print(d) 18 #二、字典特征,半序列类型,没有切片和索引 19 #字典中的数据,每个都由键值对组成,即kv对;其中key,必须是一个可哈希的值,比如int、string、float、tuple等,但list、set、dict不行 20 #三、字典常见操作 21 d = {"one":1, "two":2} 22 print(d["one"]) 23 d["one"] = "eins" 24 print(d) 25 del d["one"] #del(d["one"]) 26 print(d) 27 #1、成员检测in、not in 28 if "two" in d: 29 print("key") 30 if 2 in d: 31 print("value") 32 if ("two",2) in d: 33 print("kv") 34 #2、遍历,python2和3区别大,不通用 35 d = {"one":1, "two":2} 36 for k in d: 37 print(k, d[k]) #for循环,直接访问的k为key值,而非一对 38 for k in d.keys(): 39 print(k, d[k]) #上述方法的改写,推荐这种写法 40 for v in d.values(): 41 print(v) #只访问values值 42 #下面写法在dict中报错 43 # for k,v in d: 44 # print(k,"-",v) 45 #应该改写成如下 46 for k,v in d.items(): 47 print(k,"-",v) 48 #3、字典生成式 49 d = {"one":1, "two":2} 50 dd = {k:v for k,v in d.items()} 51 print(dd) 52 dd = {k:v for k,v in d.items() if v % 2 == 0} #加限制条件 53 print(dd) 54 #四、字典相关函数 55 #通用的函数:len、max、min、dict 56 #1、str(dict),返回字典的字符串格式 57 d = {"one":1, "two":2} 58 print(str(d)) 59 #五、字典的操作方法 60 #1、clear,清空字典内部数据 61 #2、items,返回字典的键值对组成的元祖格式 62 d = {"one":1, "two":2} 63 i = d.items() 64 print(type(i)) 65 print(i) 66 #3、keys,返回字典的键组成的结构 67 k = d.keys() 68 print(type(k)) 69 print(k) 70 #4、values,返回一个和keys、items一样的可迭代的结构 71 v = d.values() 72 print(type(v)) 73 print(v) 74 #5、get,返回指定键的值,如果没有这个键,则返回None,而不会报错,如果后面填写了第二个参数,则表示,如果找不到,就返回第二个参数设置好的返回值 75 d = {"one":1, "two":2} 76 print(d.get("333",1)) 77 #6、fromkeys,使用指定的序列作为字典的键,再跟一个值,作为字典所有键的值 78 l = ["eins", "zewi", "tree"] 79 d = dict.fromkeys(l,"aaa") 80 print(d) 81 ''' 82 打印如下: 83 {} 84 {} 85 {'one': 1, 'two': 2} 86 {'one': 1, 'two': 2} 87 {'one': 1, 'two': 2} 88 {'one': 1, 'two': 2} 89 1 90 {'one': 'eins', 'two': 2} 91 {'two': 2} 92 key 93 one 1 94 two 2 95 one 1 96 two 2 97 1 98 2 99 one - 1 100 two - 2 101 {'one': 1, 'two': 2} 102 {'two': 2} 103 {'one': 1, 'two': 2} 104 <class 'dict_items'> 105 dict_items([('one', 1), ('two', 2)]) 106 <class 'dict_keys'> 107 dict_keys(['one', 'two']) 108 <class 'dict_values'> 109 dict_values([1, 2]) 110 1 111 {'eins': 'aaa', 'zewi': 'aaa', 'tree': 'aaa'} 112 '''