用python编写词典_Python开发【第九篇】字典

字典

字典是一种可变的容器,可以存储任意类型的数据

字典中的每个数据都是用键进行索引,而不像序列容器(str,list,tuole)可以用整数进行索引

字典中的数据没有先后顺序,字典的存储是无序的

字典中的数据以键值对的形式进行存储

字典中的键不能重复,且只能用不可变的类型作为字典的键

语法:

#创建空字典

d = {}

#创建非空字典

d = {"name":"liuwei","age":25}

创建字典的构造函数

#生成一个空的字典等同于{}

dict()

#用可迭代对象创建一个字典

dict(iterable)

#用关键字传参形式生成一个字典

dict(**kwargs)

注:字典的键必须为不可变类型的值

可变类型有四种:1. 列表(list)

​ 2. 字典(dict)

​ 3. 集合(set)

​ 4. 字节数组(bytearray)

除上述四种其他都为不可变类型

不可变类型有三种:1. 字符串(str)

​2. 元组(tuple)

​3. 整数(int)

字典的基本操作

字典的键索引

语法:

d = {"name":"liuwei","age":27}

d["name"]

"liuwei"

d["age"]

27

作用:用键获取字典的键对应的值

删除字典元素

语法:

d = {"name":"liuwei","age":27}

del d['age']

print(d)

{"name":"liuwei"}

字典的键判断

可以用 in 运算符判断一个键是否存在于字典中,如果存在返回True,否则返回False

not in 返回值与 in 相反

语法:

d = {"name":"liuwei","age":27}

"name" in d

True

"age" not in d

False

字典的遍历

字典是可迭代对象,字典只能对键进行遍历

例子:

d = {"name":"liuwei","age":27}

for i in d:

print(i)

#结果

name

age

可以用于字典的函数

len(x)

返回字典中键的个数

max(x)

返回字典中键最大值

min(x)

返回字典中键的最小值

sum(x)

返回字典中键的所有和

any(x)

真值测试,只能对键进行测试,只要有一个键为真值,结果都为True

all(x)

真值测试,所有的键结果都为真值,结果才为True

字典的方法

函数

说明

D代表字典对象

D.clear()

清空字典

D.pop(key)

移除键,同时返回此键所对应的值

D.copy()

返回字典D的副本,只复制一层(浅拷贝)

D.update(D2)

将字典 D2 合并到D中,如果键相同,则此键的值取D2的值作为新值

D.get(key, default)

返回键key所对应的值,如果没有此键,则返回default

D.keys()

返回可迭代的 dict_keys 集合对象

D.values()

返回可迭代的 dict_values 值对象

D.items()

返回可迭代的 dict_items 对象

字典推导式

字典推导式是用可迭代对象来创建字典的表达式

语法:

{键表达式:值表达式 for 临时变量 in 可迭代对象 [if 真值表达式]} if 真值表达式可以省略

注:[]里的内容代表可以省略

例子:

#生成一个字典,键为数字0-9 值为键的平方

d = {x:x**2 for x in range(10)}

print(d)

#结果

{0: 0, 1: 1, 2: 4, 3: 9, 4: 16, 5: 25, 6: 36, 7: 49, 8: 64, 9: 81}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值