1.字典
1.1.字典特性
字典是一种key-value的数据类型。key必须可hash,必须为不可变数据类型,且必须是唯一的;value可以存放任意多个值、可修改、可以不唯一;字典是无序的,通过key值来定位和查找。
1.2.字典的创建
(1)dic = {} # 定义一个空字典
(2)dic = {'张云':[24, 'design', 'UI', 2333], 'luozhi': [22, 'PR', 'wild model', 2345]}
(3){}.fromkeys(seq,'Jake') # 不指定'Jake'默认为None
# for example:
dic={}.fromkeys(['k1','k2'],[]) print(dic) {'k1': [], 'k2': []}
键与值用冒号“:”分开;项与项用逗号“,”分开。
2.字典常见操作
2.1.打印字典中的元素
print(dic['张云']) [24, 'design', 'UI', 2333]
2.2.修改
通过key值找到需要修改的内容,然后赋值
dic['张云'][1] = "设计部" print(dic['张云']) [24, '设计部', 'UI', 2333]
2.3.新增
如果给一个字典中不存在的key赋值,则字典中会增加这个元素
dic = {} dic['k3'] = 'v3' # 新增 print(dic) {'k3':'v3'}
可以使用 ''.append() :
dic['k1'].append(1) print(dic) {'k1': [1], 'k2': [1]}
另一种新增方式: dic.setdefault(key, None) ,如果字典中不存在Key键,由 dic[key] = default 为它赋值.
2.4.删除 (4种方式)
dic = {'k1': "v1", 'k2': "v2", 'k3': "v3"}
dic.pop('k2') # 删除k2
dic.popitem() # 随机删除
del dic['k1'] # 删除k1
dic.clear() # 清空字典,删除之后可以访问
2.5. 查看
(1)dic['key'],返回字典中key对应的值,若key不存在字典中,则报错;
(2)dict.get(key, default = None) 返回字典中key对应的值,若key不存在字典中,则返回default的值(default默认为None)
2.6. 字典其他方法
len(dic) # 查字典dic中元素的个数
dic.keys() 返回一个包含字典所有KEY的列表
dic.values() 返回一个包含字典所有value的列表
dic.items() 返回一个包含所有(键,值)的列表
dic.iteritems()、dic.iterkeys()、dic.itervalues() 与它们对应的非迭代方法一样,不同的是它们返回一个迭代子,而不是一个列表
dic.update(dic1) 将字典dic1的键值对添加到字典dic中更新dic,如果dic中存在与dic1相同的key值,则该key值对应的内容被dic1覆盖,如果没有就添加
3. 遍历字典元素
dic = {'k1': "v1", 'k2': "v2", 'k3': "v3"} # 循环遍历出所有的key print("all keys:") for k in dic: print(k) # 循环遍历出所有value print("all values:") for v in dic: print(dic[v]) # 循环打印所有key和value print("all keys and values:") for k in dic: print(k,dic[k])