字典

一、定义

Python内置的数据结构之一,与列表一样是一个可变序列。

与键值对的方式存储数据,字典是一个无序的序列(必须的)

变量名 = {键:值,键:值,键:值}

二、字典的实现原理

pyhthon中的字典是根据key查找value所在的位置

三、字典的创建

(1)使用花括号  score = {‘张三’:100,‘李四’:50}

(2)使用内置函数dict() dict( name =‘jack’,age=20)

std = dict(name = 'liu',age = 20,grade=98)
print(std)
结果:{'name': 'liu', 'age': 20, 'grade': 98}

四、字典的常用操作

(1)获取字典中的元素

  第一种方式,使用 [ ]

  第二种方式,使用get()方法

std = dict(name = 'liu',age = 20,grade=98)
print(std['name'])
# print(std['class'])   #出现报错
print(std.get('name'))
print(std.get('class'))
结果:

liu
liu
None

  注意:get()方法和【】的区别,由上述例子可得当查询的键不存在时,使用【】会报错,而使用get方法结果是None

(2)key的判断

是否存在 :in  与  not in

删除指定的键值对: del score['张三']

清空字典的元素:score.clear()

字典元素的新增:score['陈六']=38

修改元素:参照上一个

# del std['name']
# std.clear()#清空
std['gender'] ='F'
print(std)
std['age']=30

(3)获取字典视图

keys()----------获取字典的所有key

values()---------获取字典的所有value

items()-----------获取字典的所有key和value

#获取所有的values
value = std.values()
print(value)
print(list(value))

#获取所有的keys
key = std.keys()
print(list(key))

#获取所有的items
item = std.items()
print(item)
print(list(item))#转换之后的列表元素是由元组组成的

结果:

dict_values(['liu', 20, 98])
['liu', 20, 98]
['name', 'age', 'grade']
dict_items([('name', 'liu'), ('age', 20), ('grade', 98)])
[('name', 'liu'), ('age', 20), ('grade', 98)]


(4)字典元素的遍历

for 字典中的键 in 字典:

  print( )

for item in std:
    print(item,std[item],std.get(item))
结果:

name liu liu
age 20 20
grade 98 98

五、字典的特点

(1)字典中所有键不允许重复,但是值可以重复

(2)字典中的元素是无序的

(3)字典中的key必须是不可变对象

(4)字典也可以根据需要动态地伸缩

(5)字典会浪费较大的内存,是一种使用空间换时间的数据结构

 六、字典生成式

使用内置函数zip()生成,进行打包,返回可迭代对象

#生成式
name = ['Fruits','Books','Others']
prices = [100,30,20]
d = {name:prices for name,prices in zip(name,prices) }
print(d)

结果:{'Fruits': 100, 'Books': 30, 'Others': 20}

 

posted @ 2021-01-29 18:42  城东有个混子  阅读(221)  评论(0)    收藏  举报