python基础-列表、元组、字典(三)
python字典(dictionary)
定义
cityDic = {"China":1,"USA":2,"Japan":3,"UK":4,"France":5}
类似于JSON字符串,可以进行嵌套
列表不能作为字典的Key,因为列表是可以被修改的
元组能作为字典的Key,因为元组是不可以被修改的
字典是无序的
布尔值可以作为字典的Key,但是可能会和(1/0)重复,True:1,False:0
字典中key不允许重复,若重复则只保留一个
字典的增删改查
- 字典的增加
cityDic['germany'] = 6
-
修改
1.cityDic[‘UK’]cityDic['UK'] = 777
2.setDefault 设置值,若key存在则获取当前value,若不存在,则添加
cityDic.setdefault("germany",7)
字典中无法修改key的值,只能修改value的值,如果存在就是修改,不存在就是添加
3.update更新
cityDic.update({"UK":666,"Japan":333,"Italy":0}) cityDic.update(UK=666,Japan=333,Italy=0)
-
取值
print(cityDic['China']) # 1
print(cityDic.get('China')) # 1
print(cityDic.get('Korea')) # None 若没有取到,则返回None
print(cityDic.get('Korea',19)) # 19 若没有取到,则默认为19
- 删除
- del 关键字删除指定元素
del cityDic['UK']
- clear 方法删除所有元素
cityDic.clear()
- pop 根据指定的Key删除,并返回被删除的值
4.popitem 随机删除一对键值对,并以元组返回该键值对cityDic.pop('UK') cityDic.pop('aaa',99) #当Key不存在时,可以指定返回的默认值
country,no = cityDic.popitem() # France 5
字典的内置方法
cityDic = {"China":1,"USA":2,"Japan":3,"UK":4,"France":5}
- len 返回字典中键值对的个数
- keys 返回一个包含字典中所有Key的列表
cityDic.keys()
dict_keys(['China', 'USA', 'Japan', 'UK', 'France'])
- values 返回以一个包含字典中所有value的列表
cityDic.values()
dict_values([1, 2, 3, 4, 5])
- items 返回一个包含所有键值对(元组)的列表
cityDic.items()
dict_items([('China', 1), ('USA', 2), ('Japan', 3), ('UK', 4), ('France', 5)])
-
has_key 判断是否存在key,存在 True,否则 False
-
fromkeys dict的静态方法
-
根据序列创建字典,并指定统一的值
dict.fromkeys(["aaa","bbb","ccc"],["111","222","333"])
{'aaa': ['111', '222', '333'], 'bbb': ['111', '222', '333'], 'ccc': ['111', '222', '333']}