字典是有序、键不重复且元素只能是键值对的可变的一个容器。
data={"k1":1,"k2":25}
data中“k1”和“k2”是键,而1,25是值。“k1”:1,"k2":25是键值对。
1))容器:存储多个元素。
2))元素必须是键值对。
3))键不重复,如果键重复则会被后面的键值对覆盖掉。
例如:
分析:键“k1”重复,则会被后面的“k1”:45覆盖掉。
4))有序。
在Python3.6后的版本中,字典是有序的,在Python3.6前的版本都是无序的。
如何体现无序?
以这个代码为例:
data={"k1":1,"k2":25}
print(data)
该代码运行多次输出的结果不同。
1、定义
v1={}#空字典
v2=dict()#空字典
data={"k1":1,"k2":25}
字典中对键值的要求:
(1)键必须是可哈希的。
可哈希的类型有:int/bool/str/tuple
不可哈希的类型有:list/set/dict
(2)值:任意类型
一般什么情况下会用到字典呢?
当我们想要表示一组固定信息时,用字典可以更加的直观。
例如:
user_dict=[{"name":"sunwukong","pwd":"123"},{"name":"zhubajie","pwd":"456"}]
2、独有功能
(1)获取值(通过键获取键对应的值)
功能:get(键)。
注意:当键在字典中不存在是,返回None.
代码示例:
特殊功能:get(键1,数据类型1)
如果字典中存在键1,则返回键1对应的值,否则返回数据类型1
代码示例:
判断一个键是否在字典中可以用in
代码示例:
(2)获取所有的键,返回值可以看成是高仿的列表。该高仿的列表也可以转换为列表。
功能:keys().
代码实例:
注意:在Python2中,字典.keys()直接获取到的是列表,而Python3中返回的是高仿列表,该高仿列表可以被循环显示。
代码示例:
该高仿列表还具有一个作用:判断一个键在不在字典.keys()当中。
代码示例:
(3)获取所有的值。返回值是一个高仿列表。
功能:values()
代码示例:
注意:在Python2中,字典.values()直接获取到的是列表。而Python3中返回的是高仿列表。这个列表也可以被循环显示。
代码示例:
该高仿列表还有一个作用:判断值在不在字典.values()当中。
代码示例: