python学习之第十一课时--基本数据类型(dict)
- 字典
字典由键值对组成,由一个键(名称)和 一个值组成,与列表和元组不同的是里面的元素是有键的(名称),所以当要打印字典时,打印字典变量加[键]即可
字典自带函数:
函数 |
功能 |
clear() |
删除字典中所有元素 |
copy() |
返回字典(浅复制)的一个副本 |
get(key) |
对字典dict 中的键key,返回它对应的值value,如果字典中不存在此键,则返回default 的值 |
items() |
返回一个包含字典中(键, 值)对元组的列表 |
values() |
返回一个包含字典中所有值的列表 |
key() |
回一个包含字典中键的列表 |
len(self) |
返回dict中key的数量 |
pop(key) |
和方法get()相似,如果字典中key 键存在,删除并返回dict[key],如果key 键不存在,且没有给出default 的值,引发KeyError 异常 |
del() |
del 字典变量.[要删除的元素键] |
注:参数:
k:要搜索的键
d:默认为空,返回该键不存在的情况下的默认值
函数操作如下:
#!/usr/bin/env python # -*- coding:utf-8 -*- dict={"zou":2,"lu":5,"chen":6} a=dict.copy() print(a) #打印出{'chen': 6, 'lu': 5, 'zou': 2} b=["bob","john"] print(dict.fromkeys(b,8)) #打印新字典{'bob': 8, 'john': 8} print(dict.get("zou")) #打印 2 print(dict.items()) #打印[('chen', 6), ('lu', 5), ('zou', 2)] print(dict.keys()) #打印['chen', 'lu', 'zou'] print(dict.values()) #打印[6, 5, 2] print(dict.pop("lu")) print(dict) #打印{'chen': 6, 'zou': 2} 删除{"lu":5} print(len(dict)) #打印 回dict中key的数量 dict.clear() print(dict) #打印 {} 空字典
常用操作:索引 新增 删除 键、值、 键值对 循环 长度
#!/usr/bin/env python # -*- coding:utf-8 -*- dict={"zou":2,"lu":5,"chen":6} print(dict["lu"]) #打印"lu" 的键 5
for循环
#!/usr/bin/env python # -*- coding:utf-8 -*- dict={"zou":2,"lu":5,"chen":6} for b in dict: print(b) #打印dict的所有的键 chen lu zou #因为字典是无序,所以打印字典的键顺序与原字典不一样 for c in dict: print(dict[c]) #打印出 6 5 2
(items:获取键和值)结合for循环
#!/usr/bin/env python # -*- coding:utf-8 -*- dict={"zou":2,"lu":5,"chen":6} for k,v in dict.items(): #因为items()获取的键和值,所以循环里要自定义两个变量分别代表键和值 print(k) print(v) #打印 chen 6 lu 5 zou 2 循环出了字典的键和值
验证键和值是否在字典中:
#!/usr/bin/env python # -*- coding:utf-8 -*- dict={"zou":2,"lu":5,"chen":6} a="zou" in dict.keys() print(a) b=2 in dict.values() print(b)
update(self, E=None)
(追加更新)要追加更新的变量
#!/usr/bin/env python # -*- coding:utf-8 -*- dict={"zou":2,"lu":5,"chen":6} b={"bob":1,"john":4,"lin":3} dict.update(b) print(dict) #打印 {'lu': 5, 'zou': 2, 'chen': 6, 'bob': 1, 'john': 4, 'lin': 3}
删除字典里的元素
格式:del 字典变量.[要删除的元素键]
#!/usr/bin/env python # -*- coding:utf-8 -*- b={"bob":1,"john":4,"lin":3} del b["john"] print(b) #打印 {'bob': 1, 'lin': 3} 删除 "john"键
一些常用的方法:
__contains__(...)
D.__contains__(k) -> True if D has a key k, else False
如果字典D包含键k,则返回True,否则False
类似函数:
has_key(...)
D.has_key(k) ->True if D has a key k, else False#如果字典D有键k,则返回True,否则False
items(...)
D.items() ->list of D's (key, value) pairs, as 2-tuples
#返回包含D的键值对的列表list,list中的元素为含有2个数据的元组
iteritems(...)
D.iteritems() ->an iterator over the (key, value) items of D#返回一个可迭代对象,每一个元素是一个键值对(key, value)
iterkeys(...)
D.iterkeys() -> an iterator over the keys of D#返回一个可迭代对象,每一个元素是字典D的一个键
itervalues(...)
D.itervalues -> an iterator over the values of D#返回一个可迭代对象,每一个元素是字典D的一个值
字典的功能
索引
增加
删除
for循环
长度
项
键
值
判断是否存在某元素
更新