Python 程序设计讲义(49):组合数据类型——字典类型:字典的方法

Python 程序设计讲义(49):组合数据类型——字典类型:字典的方法

一、使用序列生成新字典:使用dict 的fromkeys()方法

使用fromkeys()方法可以使用一个序列建立字典。序列中的元素作为字典中的键,每个键对应相同的值。

fromkeys()方法属于dict类型,而不是字典名。语法格式如下:

dict.fromkeys(iterable, value)
说明:
value可以省略,如果省略value,则使用None为字典的值。

例如:

l1=[1,2,3,4,5]
d1=dict.fromkeys(l1,"请设置民族")
print(d1)

程序的运行结果为:
{1: '请设置民族', 2: '请设置民族', 3: '请设置民族', 4: '请设置民族', 5: '请设置民族'}

fromkeys()方法如果省略value,则所有的value被设置为None

例如:

l1=[1,2,3,4,5]
d1=dict.fromkeys(l1)
print(d1)

程序的运行结果为:
{1: None, 2: None, 3: None, 4: None, 5: None}

二、获取字典中所有的key:使用keys() 方法

如果需要获取字典中所有的键,可以使用keys()方法。以列表的形式返回字典中所有的键。

keys()方法的语法格式如下:

d_name.keys()

例如:

l1=[1,2,3,4,5]
l2=["汉族","回族","苗族","蒙古族","朝鲜族"]
d1=dict(zip(l1,l2))
l1=d1.keys()
print(l1)

程序的运行结果为:
dict_keys([1, 2, 3, 4, 5])

三、获取字典中所有键对应的 value:使用values() 方法

如果需要返回字典中所有键对应的值,可以使用values()方法。以列表的形式返回字典中所有键对应的值。

values()方法的语法格式如下:

d_name.values()

例如:

l1=[1,2,3,4,5]
l2=["汉族","回族","苗族","蒙古族","朝鲜族"]
d1=dict(zip(l1,l2))
l1=d1.values()
print(l1)

程序的运行结果为:
dict_values(['汉族', '回族', '苗族', '蒙古族', '朝鲜族'])

四、返回字典中所有的键值对:使用items()方法

如果需要返回字典中所有的键值对,可以使用items()方法。

items()方法将字典中的每个键值对作为元素,组成一个元组。所有的键值对对应的元组组成一个列表作为items()方法的返回值。

values()方法的语法格式如下:

d_name.items()

例如:

l1=[1,2,3,4,5]
l2=["汉族","回族","苗族","蒙古族","朝鲜族"]
d1=dict(zip(l1,l2))
l3=d1.items()
print(l3)

程序的运行结果为:
dict_items([(1, '汉族'), (2, '回族'), (3, '苗族'), (4, '蒙古族'), (5, '朝鲜族')])

使用for...in循环可以遍历字典。

例如:

l1=[1,2,3,4,5]
l2=["汉族","回族","苗族","蒙古族","朝鲜族"]
d1=dict(zip(l1,l2))
for item in d1.items():
    print(item)
    
程序的运行结果为:
(1, '汉族')
(2, '回族')
(3, '苗族')
(4, '蒙古族')
(5, '朝鲜族')

遍历字典中的键和值,代码如下:

l1=[1,2,3,4,5]
l2=["汉族","回族","苗族","蒙古族","朝鲜族"]
d1=dict(zip(l1,l2))
for key,value in d1.items():
    print(key, value)
    
程序的运行结果为: 
1 汉族
2 回族
3 苗族
4 蒙古族
5 朝鲜族

五、获取指定的键对应的值

可以使用d_name[key]获取指定的键对应的值,也可使用get()方法与setdefault()方法获取指定键对应的值。

1、使用用get()方法获取指定键对应的值

如果指定的键不存在,则返回None

语法格式如下:

d_name.get(key)

例如:

d1={1: '汉族', 2: '回族', 3: '苗族', 4: '蒙古族', 5: '朝鲜族'}
print(d1[2])
print(d1.get(3))
print(d1.get(6))  #key为6不存在,返回None

程序的运行结果为: 
回族
苗族
None
2、使用setdefault()方法获取指定键对应的值

get()方法不同的是,使用setdefault()方法获取指定键对应的值时,如果指定的键不存在,则为字典添加键,并指定对应的值。

如法格式如下:

d_name.setdefault(key,value)
说明:
(1)key表示键。
(2)value表示键对应的值。只有当字典中不存在对应的key时,value才生效。

例如:

(1)不指定value

代码如下:

d1={1: '汉族', 2: '回族', 3: '苗族', 4: '蒙古族', 5: '朝鲜族'}
print(d1[2])
print(d1.setdefault(3))
print(d1.setdefault(6))  #key为6不存在,value为None,并且把键值对6:value添加到字典中
print(d1)

程序的运行结果为: 
回族
苗族
None
{1: '汉族', 2: '回族', 3: '苗族', 4: '蒙古族', 5: '朝鲜族', 6: None}

(2)指定value

代码如下:

d1={1: '汉族', 2: '回族', 3: '苗族', 4: '蒙古族', 5: '朝鲜族'}
print(d1[2])
print(d1.setdefault(3,'布依族')) #显示3对应的民族:苗族
#key为6不存在,value为None,并且把键值对6:'布依族'添加到字典中
print(d1.setdefault(6,'布依族'))
print(d1)

程序的运行结果为: 
回族
苗族
布依族
{1: '汉族', 2: '回族', 3: '苗族', 4: '蒙古族', 5: '朝鲜族', 6: '布依族'}

六、字典的合并:使用update()方法

字典的合并是指将一个字典的键值对添加到另一个字典中。使用update()方法可以完成字典的合并。

update()方法的语法格式如下:

d_name.update(d_name2)

例如:

d1={1: '汉族', 2: '回族', 3: '苗族'}
d2={4: '蒙古族', 5: '朝鲜族'}
d1.update(d2)
print(d1)

程序的运行结果为: 
{1: '汉族', 2: '回族', 3: '苗族', 4: '蒙古族', 5: '朝鲜族'}

七、修改某个元素的值、为字典添加新元素:使用d[key]=value的方法

字典是一个可变序列,用户可以对字典中的键值对进行添加和修改。

语法格式如下:

d_name[key]=value
说明:
(1)如果字典中存在指定的key,则修改对应的值。
(2)如果字典中存在指定的key,则添加一个新元素,键值对就是指定的key和value值。

例如:

(1)修改某个元素的值

代码如下:

d1={1: '汉族', 2: '回族', 3: '苗族',4: '蒙古族', 5: '朝鲜族'}
print(d1)
d1[3]='藏族'  #key=3存在,则修改3对应的值
print(d1)

程序的运行结果为: 
{1: '汉族', 2: '回族', 3: '苗族', 4: '蒙古族', 5: '朝鲜族'}
{1: '汉族', 2: '回族', 3: '藏族', 4: '蒙古族', 5: '朝鲜族'}

(2)添加新元素

d1={1: '汉族', 2: '回族', 3: '苗族',4: '蒙古族', 5: '朝鲜族'}
print(d1)
d1[7]='藏族'  #key=7存在,则添加一个新元素,键值对为:7:'藏族'
print(d1)

程序的运行结果为: 
{1: '汉族', 2: '回族', 3: '苗族', 4: '蒙古族', 5: '朝鲜族'}
{1: '汉族', 2: '回族', 3: '苗族', 4: '蒙古族', 5: '朝鲜族', 7: '藏族'}

八、删除元素:使用del语句或pop()、popitem()方法

删除字典中的元素有三种方法:

1、使用del语句删除指定的元素

使用del语句删除字典中指定的元素。

语法格式如下:

del d_name[key]

例如:

d1={1: '汉族', 2: '回族', 3: '苗族',4: '蒙古族', 5: '朝鲜族'}
print(d1)
del d1[3] #删除key=3对应的元素
print(d1)

程序的运行结果为: 
{1: '汉族', 2: '回族', 3: '苗族', 4: '蒙古族', 5: '朝鲜族'}
{1: '汉族', 2: '回族', 4: '蒙古族', 5: '朝鲜族'}
2、使用pop()方法删除指定的元素

使用pop()方法可以删除字典中指定键的键值对,并返回该键对应的值。

pop()方法的语法格式如下:

d_name.pop[key]

例如:

d1={1: '汉族', 2: '回族', 3: '苗族',4: '蒙古族', 5: '朝鲜族'}
print(d1)
x=d1.pop(3)
print(x)
print(d1)

程序的运行结果为: 
{1: '汉族', 2: '回族', 3: '苗族', 4: '蒙古族', 5: '朝鲜族'}
苗族
{1: '汉族', 2: '回族', 4: '蒙古族', 5: '朝鲜族'}
3、使用popitem()方法删除字典中的最后一个元素

使用popitem()方法可以删除字典中的最后一个元素,并以元组的形式返回。

popitem()方法的语法格式如下:

d1={1: '汉族', 2: '回族', 3: '苗族',4: '蒙古族', 5: '朝鲜族'}
print(d1)
t1=d1.popitem()
print(t1)
print(d1)
t1=d1.popitem()
print(t1)
print(d1)

程序的运行结果为: 
{1: '汉族', 2: '回族', 3: '苗族', 4: '蒙古族', 5: '朝鲜族'}
(5, '朝鲜族')
{1: '汉族', 2: '回族', 3: '苗族', 4: '蒙古族'}
(4, '蒙古族')
{1: '汉族', 2: '回族', 3: '苗族'}

九、清空字典:使用clear()方法

使用字典的clear()方法可以删除字典中所有的元素。使用字典的clear()方法清空字典后,字典还在,只是变成了空字典。

例如:

d1={1: '汉族', 2: '回族', 3: '苗族',4: '蒙古族', 5: '朝鲜族'}
print(d1)
d1.clear()
print(d1)

程序的运行结果为: 
{1: '汉族', 2: '回族', 3: '苗族', 4: '蒙古族', 5: '朝鲜族'}
{}

十、删除字典:使用 del 语句

如果一个字典不再使用,可以使用del语句删除该字典。

删除字典的语法格式如下:

del d_name

例如:

d1={1: '汉族', 2: '回族', 3: '苗族',4: '蒙古族', 5: '朝鲜族'}
print(d1)
del d1
print(d1)  #字典d1已经被删除,执行该命令报以下错误

程序的运行结果为: 
Traceback (most recent call last):
  File "C:\Users\wgx58\PycharmProjects\PythonProject\hello.py", line 4, in <module>
    print(d1)
          ^^
NameError: name 'd1' is not defined
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

睿思达DBA_WGX

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值