亲宝软件园·资讯

展开

Python字典

爪哇斗罗 人气:0

一. 什么是字典

字典作为Python的一个内置数据结构,和列表一样都是可变序列的,但是它是无序的,以键值对的方式存储数据。

二. 创建字典

创建字典的两种方式,一种使用{ } 另一种使用内置函数dict()

# author: 爪哇斗罗(javaDouLuo)
# date: 2022/7/11 22:51
 
# 字典的创建
dict01={"A": 1, "B": 2, "C": 3}
# {'A': 1, 'B': 2, 'C': 3}
print(dict01)
dict02=dict(a=1, b=2,name="zs")
# {'a': 1, 'b': 2, 'name': 'zs'}
print(dict02)

三. 字典元素获取

获取字典元素有两种,通过[]或者get()方法获取,两者的区别就是前者当key不存在会抛出异常,后者不会抛出异常,会返回None

# author: 爪哇斗罗(javaDouLuo)
# date: 2022/7/11 22:51
 
# 字典的创建
dict01 = {"A": 1, "B": 2, "C": 3}
 
# 字典的元素获取
# 1
print(dict01["A"])
# 3
print(dict01.get("C"))
# KeyError: 'D'
# print(dict01["D"])

四. 字典元素的增删改操作

使用not in与 in判断字典元素中的key是否存在,这一点与列表的用法是相同的。当然也可以对字典中的元素进行增删改的操作。

删除键值对使用del, 增加字典元素与修改字典元素的操作是一样的,就是有key与无key的区别。

# author: 爪哇斗罗(javaDouLuo)
# date: 2022/7/11 22:51
 
# 字典的创建
dict01 = {"A": 1, "B": 2, "C": 3}
 
# True
print("A" in dict01)
# False
print("A" not in dict01)
 
# 删除 B
del dict01["B"]
# {'A': 1, 'C': 3}
print(dict01)
# 增加元素 D
dict01["D"]=4
# {'A': 1, 'C': 3, 'D': 4}
print(dict01)
# 修改D的值
dict01["D"]=40
# {'A': 1, 'C': 3, 'D': 40}
print(dict01)

五. 字典的视图操作

通过keys(),values(),items()可以分别获取字典中的所有键,所有值,所有键值对。

# author: 爪哇斗罗(javaDouLuo)
# date: 2022/7/11 22:51
 
# 字典的创建
dict01 = {"A": 1, "B": 2, "C": 3}
 
# 获取所有的key
keys = dict01.keys()
# 类型为 <class 'dict_keys'>
print(type(keys))
# dict_keys(['A', 'B', 'C'])
print(keys)
# 转化为列表 ['A', 'B', 'C']
print(list(keys))
 
# 获取所有的value
values = dict01.values()
# 类型为 <class 'dict_values'>
print(type(values))
# dict_values([1, 2, 3])
print(values)
# 转化为列表 [1, 2, 3]
print(list(values))
 
# 获取所有的键值对
items = dict01.items()
# <class 'dict_items'>
print(type(items))
# dict_items([('A', 1), ('B', 2), ('C', 3)])
print(items)
# 元组的数据结构 [('A', 1), ('B', 2), ('C', 3)]
print(list(items))

当然也可以使用以下的方式去遍历字典元素:

# author: 爪哇斗罗(javaDouLuo)
# date: 2022/7/11 22:51
 
# 字典的创建
dict01 = {"A": 1, "B": 2, "C": 3}
 
# A 1 1
# B 2 2
# C 3 3
for item in dict01:
    print(item,dict01[item],dict01.get(item))

字典的总结如下:

字典中的key不允许重复,value可以

其中key为不可变对象

字典中的元素是无序的

字典根据需要动态伸缩,但字典会浪费较多的内存空间

加载全部内容

相关教程
猜你喜欢
用户评论