Python基础教程

011_Python字典类型dict

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():随机返回并删除字典中的最后一对键和值。

这篇文章对您有用吗?

我们要如何帮助您?