目录
Python字典类型dict
Python字典类型dict的理解
Python字典类型dict用来存储有映射关系(对应关系)的数据。这些数据通常用“键值对(key-value)”的形式存储。其他语言中用map来表示。
字典dict是另一种可变容器模型,可存储任意类型对象。
字典dict用大括号{}和逗号","及冒号":"构成,其中字典元素之间用逗号分隔,元素键与值之间用冒号分隔。
dict1={"number":12,"name":"郝才超","score":85.5}
print(type(dict1))
print(dict1)
dict2={
"address":"北京",
"schools":["北大","清华","五道口技术学院","理工大学"],
"content":{
"English":90,
"IT":90
},
"xy":(112,40)
}
print(dict2)
运行结果
C:UsershccmaAnaconda3python.exe E:/wkp01/p00/test01/py001/t09.py
<class 'dict'>
{'number': 12, 'name': '郝才超', 'score': 85.5}
{'address': '北京', 'schools': ['北大', '清华', '五道口技术学院', '理工大学'], 'content': {'English': 90, 'IT': 90}, 'xy': (112, 40)}
Process finished with exit code 0
字典dict的创建与增删改查
字典dict的创建。用大括号{}和逗号","及冒号":",最后一个元素不用逗号,否则会报错。
字典dict的添加。使用方括号[]给定新的键,然后对此字典元素赋值。
字典dict的删除。可以使用del语句,也可以使用字典对象的clear()方法。
字典dict的访问(查)。使用方括号[]给定旧的键,然后获取此字典元素赋值。也可以用字典对象方法get()。
字典dict的修改。使用方括号[]给定旧的键,然后对此字典元素赋值。当键值存在则是修改,如果不存在则是添加。
# 创建dict对象
mydict={}
# 添加dict元素
mydict["number"]=12
mydict["name"]="郝才超"
mydict["score"]=85.5
print(mydict) # {'number': 12, 'name': '郝才超', 'score': 85.5}
# 访问dict元素
print(mydict["number"]) # 12
print(mydict["name"]) # 郝才超
print(mydict["score"]) # 85.5
# 修改dict元素
mydict["score"]=90
print(mydict) # {'number': 12, 'name': '郝才超', 'score': 90}
# 删除dict元素
del mydict["score"]
print(mydict) # {'number': 12, 'name': '郝才超'}
字典dict的遍历
字典dict对象有几个方法可用于遍历。
dict.keys():返回字典dict对象所有的key,是可迭代对象(能通过循环取出)。
dict.values():返回字典dict对象所有的value,是可迭代对象(能通过循环取出)。
dict.items():返回字典dict对象所有的key和value,是可迭代对象(能通过循环取出)。
mydict={'number': 12, 'name': '郝才超', 'score': 85.5}
print(mydict.keys())
print(mydict.values())
print(mydict.items())
print("---------------1--------------------")
for imm in mydict.keys():
print(imm)
print("----------------2-------------------")
for imm in mydict.values():
print(imm)
print("----------------3-------------------")
for imm in mydict.items():
print(imm)
print("key是",imm[0]," value是",imm[1])
print("-----------------4------------------")
for k,v in mydict.items():
print(k,v)
运行结果
C:UsershccmaAnaconda3python.exe E:/wkp01/p00/test01/py001/t09.py
dict_keys(['number', 'name', 'score'])
dict_values([12, '郝才超', 85.5])
dict_items([('number', 12), ('name', '郝才超'), ('score', 85.5)])
---------------1--------------------
number
name
score
----------------2-------------------
12
郝才超
85.5
----------------3-------------------
('number', 12)
key是 number value是 12
('name', '郝才超')
key是 name value是 郝才超
('score', 85.5)
key是 score value是 85.5
-----------------4------------------
number 12
name 郝才超
score 85.5
Process finished with exit code 0
什么数据可以做key
字典dict的key一般用字符串。因为字符串是不可变(不要修改)的对象。可以作为key的数据类型如下。
- bool
- int
- float
- str(最常用,推荐)
- tuple
字典dict的函数
len(dict):计算字典元素个数,即键的总数。
str(dict):输出字典,以可打印的字符串表示。
字典dict的方法
radiansdict.clear():删除字典内所有元素
radiansdict.copy():返回一个字典的浅复制
radiansdict.fromkeys():创建一个新字典,以序列seq中元素做字典的键,val为字典所有键对应的初始值
radiansdict.get(key, default=None):返回指定键的值,如果键不在字典中返回 default 设置的默认值
in :key in dict,如果键在字典dict里返回true,否则返回false
radiansdict.items():以列表返回可遍历的(键, 值) 元组数组
radiansdict.keys():返回一个迭代器,可以使用 list() 来转换为列表
radiansdict.setdefault(key, default=None):和get()类似, 但如果键不存在于字典中,将会添加键并将值设为default
radiansdict.update(dict2):把字典dict2的键/值对更新到dict里
radiansdict.values():返回一个迭代器,可以使用 list() 来转换为列表
pop(key[,default]):删除字典给定键 key 所对应的值,返回值为被删除的值。key值必须给出。 否则,返回default值。
popitem():随机返回并删除字典中的最后一对键和值。