Python 字典
字典是另一种可变容器模型,且可存储任意类型对象。
字典的每个键值(key=>value)对用冒号(:)分割,每个对之间用逗号(,)分割,整个字典包括在花括号({})中 ,格式如下所示:
d = {key1 : value1, key2 : value2 }
键必须是唯一的,但值则不必。
值可以取任何数据类型,但键必须是不可变的,如字符串,数字或元组。
一个简单的字典实例:
dict = {"name":"马大哈","age":20,"gender":"male","job":"学生"}
访问字典里的值
把相应的键放入到方括号中,如下实例:
dict = {"name":"马大哈","age":20,"gender":"male","job":"学生"}
print("dict['name']:",dict["name"])
print("dict['age']:",dict["age"])
以上实例输出结果:
dict['name']: 马大哈
dict['age']: 20
如果用字典里没有的键访问数据,会输出错误如下:
dict = {"name":"马大哈","age":20,"gender":"male","job":"学生"}
print("dict['name']:",dict["test"])
以上实例输出结果:
Traceback (most recent call last):
File "JianShu.py", line 2, in <module>
print("dict['name']:",dict["test"])
KeyError: 'test'
修改字典
向字典添加新内容的方法是增加新的键/值对,修改或删除已有键/值对如下实例:
dict = {"name":"马大哈","age":20,"gender":"male","job":"学生"}
dict["name"] = "张三";#更新name
dict["age"] = 18;#更新age
print("dict['name']:",dict["name"])
print("dict['age']:",dict["age"])
以上实例输出结果:
dict['name']: 张三
dict['age']: 18
删除字典
- 删除键实例:
dict = {"name":"马大哈","age":20,"gender":"male","job":"学生"}
del dict["name"]#删除键 "name"
print(dict)
以上实例输出结果:
{'age': 20, 'gender': 'male', 'job': '学生'}
- 清空字典实例:
dict = {"name":"马大哈","age":20,"gender":"male","job":"学生"}
dict.clear()
print(dict)
以上实例输出结果:
{}
- 删除字典实例:
dict = {"name":"马大哈","age":20,"gender":"male","job":"学生"}
del dict
字典内置函数&方法
Python字典包含了以下内置函数:
序号 | 函数及描述 |
---|---|
1 | len(dict) 计算字典元素个数,即键的总数。 |
2 | str(dict) 输出字典,以可打印的字符串表示。 |
3 | type(variable) 返回输入的变量类型,如果变量是字典就返回字典类型。 |
实例
字典.keys() 来获取字典中的所有的键:
dict = {"name":"马大哈","age":20,"gender":"male","job":"学生"}
for key in dict.keys():
print(key)
以上实例输出结果:
name
age
gender
job
字典.values()来获取字典中所有的值:
dict = {"name":"马大哈","age":20,"gender":"male","job":"学生"}
for value in dict.values():
print(value)
以上实例输出结果:
马大哈
20
male
学生
字典.items()来获取 字典中的每个键值对,以元组返回:
dict = {"name":"马大哈","age":20,"gender":"male","job":"学生"}
for item in dict.items():
print(item)
以上实例输出结果:
('name', '马大哈')
('age', 20)
('gender', 'male')
('job', '学生')
字典是支持无限极嵌套的,如下面代码:
cities={
'北京':{
'朝阳':['国贸','CBD','天阶','我爱我家','链接地产'],
'海淀':['圆明园','苏州街','中关村','北京大学'],
'昌平':['沙河','南口','小汤山',],
'怀柔':['桃花','梅花','大山'],
'密云':['密云A','密云B','密云C']
},
'河北':{
'石家庄':['石家庄A','石家庄B','石家庄C','石家庄D','石家庄E'],
'张家口':['张家口A','张家口B','张家口C'],
'承德':['承德A','承德B','承德C','承德D']
}
}
可以使用如下方法进行列出
for i in cities['北京']:
print(i)
将列出如下结果:
朝阳
海淀
昌平
怀柔
密云
for i in cities['北京']['海淀']:
print(i)
输出如下结果:
圆明园
苏州街
中关村
北京大学
人生苦短,我用Python
对网络安全感兴趣的朋友可以关注我的连载 :
网友评论