从0到1玩转网络安全程序员程序猿阵线联盟-汇总各类技术干货

python 基础 - 字典

2018-05-07  本文已影响9人  _07

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

删除字典

  1. 删除键实例:
dict = {"name":"马大哈","age":20,"gender":"male","job":"学生"}

del dict["name"]#删除键 "name"
print(dict)

以上实例输出结果:

{'age': 20, 'gender': 'male', 'job': '学生'}
  1. 清空字典实例:
dict = {"name":"马大哈","age":20,"gender":"male","job":"学生"}
dict.clear()
print(dict)

以上实例输出结果:

{}
  1. 删除字典实例:
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

Python 目录

对网络安全感兴趣的朋友可以关注我的连载 :

从0到1学习网络安全 【目录】

上一篇下一篇

猜你喜欢

热点阅读