python基础学习之字典

本文介绍了Python字典的基本特性和常用操作,包括字典的无序性、不支持索引访问、键唯一性以及键必须为不可变类型。详细讲解了如何创建、访问、修改、删除字典元素,并提供了相关代码示例。最后,提到了字典的复制和创建带默认值的字典等高级用法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

python中的字典类似于C++中的map,用于存储键值对,且无序,它在python中的类型为“dict”,根据这些特点就可以总结出字典的一些特性。

一、字典的特性

1.由于无序,所以字典不支持索引访问;
2.由于len()方法是python中的内置函数,所以字典也支持len()方法;
3.字典的键不允许重复,重复时会当做更新操作而不是插入操作,只会保留新值,这些结论会在下面使用代码来验证;
4.字典的键只能使用不可变数据类型,所以诸如列表list这种数据类型是不可以作为字典的键的

二、字典支持的方法

以下代码均在批处理模式下运行

1.首先建立一个字典:

dic={"优快云":23,"PLQP":34}
#创建了一个名为dic的字典

python建立字典使用的是{},注意不要和元组tuple、列表list的符号弄混了;他的键和值中间需要使用冒号分隔开,这样我们就创建好了一个字典。
2.对字典的访问
(1)访问指定键对应的值:

print(dic["优快云"])
#或者
print(dic.get("优快云"))

运行结果为:
在这里插入图片描述
注意若对一个不存在的键使用get()方法时则会返回None
(2)输出所有的值

print(dic.values())
#则会输出:dict_values([23, 34])

(3)输出所有的键

print(dic.keys())
#则会输出:dict_keys(['优快云', 'PLQP'])

(4)遍历所有键值对

dic.items()#遍历键值对
#则会输出:dict_items([('优快云', 23), ('PLQP', 34)])

3.查看指定元素是否在字典中:使用in运算符

print(34 in dic.values())#检验元素是否在指定集合中
print(34 not in dic.values())#检验元素是否在指定集合中
'''
分别输出为:
True
False
'''

同样也可以使用in运算符检验key的存在与否
4.随机返回一个键值对:

print(dic.popitem())
'''
运行结果为:
('PLQP', 34)
'''

注意此处他的返回值类型为元组类型,不可改变;
5.使用循环对字典键和值以及键值对遍历
python中的for循环需要一个集合,而字典中的键、值和键值对都是一个集合,所以就有对应以下三种方式来遍历字典的元素:

#对键进行遍历
for i in dic.keys():
    print(i)

#对值进行遍历
for i in dic.values():
    print(i)

#对键值对进行遍历
for i in dic.items():
    print(i)

以上的方法输出结果为:
在这里插入图片描述
6.对字典元素的更改
(1)对指定元素进行更新,然后遍历查看:

dic={"优快云":23,"PLQP":34}
dic.update({"优快云":22})
for i in dic.items():
    print(i)
'''
运行结果为:
('优快云', 22)
('PLQP', 34)
'''

可以看到已经对键“优快云”的值进行了更改
(2)删除指定key对应的元素再遍历查看:

dic={"优快云":23,"PLQP":34}
print(dic.pop("优快云"))#根据键删除值
for i in dic.items():
    print(i)
'''
运行结果为:
23
('PLQP', 34)
'''

(3)清除字典中的所有元素:

dic={"优快云":23,"PLQP":34}
#对键值对进行遍历
for i in dic.items():
    print(i)
dic.clear()#清除dic
#对键值对进行遍历
for i in dic.items():
    print(i)
'''
运行结果为:
('优快云', 23)
('PLQP', 34)

'''

第一次遍历后清除,第二次遍历则没有元素输出
(4)给字典添加使用默认值的键值对:

dic={"优快云":23,"PLQP":34}
dic.setdefault("WZRY")
for i in dic.items():
    print(i)
'''
输出结果为:
('优快云', 23)
('PLQP', 34)
('WZRY', None)
'''

7.其他方法
(1)创建一个含有默认值的字典

dic1=dict.fromkeys(["hg","ll"],100)
for i in dic1.items():
    print(i)
'''
运行结果为:
('hg', 100)
('ll', 100)
'''

(2)复制当前字典

dic2=dic.copy()#复制字典

对dic和dic2进行遍历,它们的元素是一样的

三、在这给大家提供整体的代码可以试一试

dic={"优快云":23,"PLQP":34}

print(dic["优快云"])
#根据键获取对应的值
print(dic.get("优快云"))
print(dic.get(23))
print(dic.values())#显示字典的值
print(dic.keys())#显示字典的键
print(dic.popitem())#随机返回一组键值对,返回值是元组类型
print(dic.items())#遍历键值对
print(34 in dic.values())#检验元素是否在指定集合中
print(34 not in dic.values())#检验元素是否在指定集合中
dic.update({"优快云":22})#字典的更新
print(dic.pop("优快云"))#根据键删除值
dic1=dict.fromkeys(["hg","ll"],100)#快速创建字典
dic.clear()#清除dic
dic2=dic.copy()#复制字典
dic.setdefault("WZRY")#给字典添加使用默认值的元素
#对键进行遍历
for i in dic.keys():
    print(i)
#对值进行遍历
for i in dic.values():
    print(i)
#对键值对进行遍历
for i in dic.items():
    print(i)

python新手,有误请大家指正。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值