栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

python学习6

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

python学习6

字典概念及实现

字典是python内置的一种数据结构,与列表一样是一个可变序列

以键值对的方式存储数据,无序

在字典中,根据键来寻找值

创建字典时,字典用{}表示,其中键值对之间用 , 隔开,键与值用:连接

test={'name':'张三','age':10}

也可以使用内置函数dict()函数:

test=dict(name='张三',age=10)
获取字典元素

通过键来获取值

有两种方法,一是直接使用[],二是使用get()

test=dict(name='张三',age=10)
print(test['name'])
print(test.get('name'))
#get()方法设置默认值,使得查询的值不存在时返回默认值
#返回99
print(test.get('color',99))

这两种方法的区别是当想查询的值不存在时,[]方法返回ValueError错误,而get()方法返回None,并且可以通过设置默认值来规定这种情况下应该返回什么

对字典的常用操作 对键的判断

可以直接使用in来判断

test=dict(name='张三',age=10)
#输出True
print('name' in test)
#输出False
print('name' not in test)
删除

使用del()

也可以使用clear()清空字典

test=dict(name='张三',age=10)
#删除name='张三'
del(test['name'])
#输出{'age': 10}
print(test)
#清空字典,输出{}
test.clear()
print(test)
增加

可以直接通过在字典中给一个新的键赋值来增加一个新的键值对

test=dict(name='张三',age=10)
#增加color='red'
test['color']='red'
#输出{'name': '张三', 'age': 10, 'color': 'red'}
print(test)
修改

通过直接将键对应的值修改来修改

test=dict(name='张三',age=10)
#修改age为20
#输出{'name': '张三', 'age': 20}
test['age']=20
print(test)
获取字典视图 keys()

keys()函数用于获取字典中所有的键,返回的是dict_keys类型,可以将其转换为列表

test=dict(name='张三',age=10)
#输出dict_keys(['name', 'age']) 
print(test.keys(),type(test.keys()))
#将结果转换为列表
#得到['name', 'age']
lis=list(test.keys())
print(lis)
values()

values()函数用于获取字典中所有的值,返回的是dict_values类型,可以将其转换为列表

test=dict(name='张三',age=10)
#输出dict_values(['张三', 10]) 
print(test.values(),type(test.values()))
#将结果转换为列表
#得到['张三', 10]
lis=list(test.values())
print(lis)
items()

items()函数用于获取字典中所有的键值对,返回的是dict_items类型,可以将其转换为列表,列表是由元组组成的。

test=dict(name='张三',age=10)
#输出dict_items([('name', '张三'), ('age', 10)]) 
print(test.items(),type(test.items()))
#将结果转换为列表
#得到[('name', '张三'), ('age', 10)]
lis=list(test.items())
print(lis)
遍历字典元素

可以使用for-in结构

test=dict(name='张三',age=10)
#以下的循环都可以遍历字典,输出键值对
for key,value in test.items():
    print(key,value)

for key in test:
    print(key,test[key])
字典特点

字典中的元素都是键值对,其中键不能重复,值可以重复,并且元素是无序的

字典中的key必须是不可变对象,比如说不能用列表来当做键

字典可以根据需要动态伸缩

字典会浪费比较大的内存,是一种使用空间换时间的操作

字典生成式

生成字典的公式

内置函数zip():该函数用于将可迭代对象作为参数,将对象中对应的元素打包,形成元组

#使用zip()进行打包,再转换为列表
#得到[('name', 'lili'), ('age', 10)]
lis=list(zip(keys,values))
print(lis)

字典生成式的格式:{表示字典键的表达式:表示字典值的表达式 for 自定义表示键的变量,自定义表示值的变量 in zip(可迭代对象,可迭代对象)}

#得到{'name': 'lili', 'age': 10}
print({key:value for key,value in zip(keys,values)})

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/754766.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号