网站备案期间打不开,我的世界做图的网站,公司网站推广费用,字体设计在线如题#xff0c;这篇博客将带大家来学习Python中的字典~ 那么#xff0c;是我们想象中的那种字典嘛#xff1f;接下来跟着可莉去一探究竟吧~ 可莉将这篇文章收录在了#xff1a;《Python》 可莉推荐的优质博主主页#xff1a;Keve ’ s blog Python 中的字典#xff08;D… 如题这篇博客将带大家来学习Python中的字典~ 那么是我们想象中的那种字典嘛接下来跟着可莉去一探究竟吧~ 可莉将这篇文章收录在了《Python》 可莉推荐的优质博主主页Keve ’ s blog Python 中的字典Dictionary是一种非常强大且常用的数据结构它提供了键-值对之间的映射
关系能够高效地存储和查找数据。在本篇博客中可莉将带大家将深入了解 Python 字典的特
性、用法和一些常见操作~ 创建字典
a { }
b dict() //dict即代表着字典
上面相当于对字典进行了一个初始化字典的创建依据以下规则 键值对之间使用 , 分割, 键和值之间使用 : 分割 在初始化时添加键值对
student { id: 1, name: zhangsan }
print(student)
为了代码的美观和可读性我们可以将代码书写风格改为如下
student {id: 1,name: zhangsan
} 字典的特性 键的唯一性字典中的键必须是唯一的如果存在重复的键则后面的键值对会覆盖前面的。可变性字典是可变的可以动态地添加、删除或修改键值对。无序性字典中的键值对是无序的即它们没有固定的顺序。 查找key
两种方法① in ② [ ]
in判定存在
student {id: 1,name: zhangsan,
}print(id in student)
print(score in student) 运行结果为 True False 通过 [ ] 获取
student {id: 1,name: zhangsan,
}print(student[id])
print(student[name])
我们可以使用 [ ] 通过类似于取下标的方式, 获取到元素的值. 只不过此处的 下标 是 key. (可能是整数, 也可能是字符串等其他类型)用key来获取valve。 不存在情况
student {id: 1,name: zhangsan,
}print(student[noele])
print(student[name]) 当试图去查找一个不存在的key值时会进行如上图的报错。 get() 方法
还有一种对于查找key的方法
my_dict {id: 1,
#name: zhangsan,
}name my_dict.get(name,unknow)
print(name)
获取键为 name 的值如果键不存在返回默认值 Unknown“unknow”可以是其他元素相当于形参可以修改。如果没有填“unknow”位置的参数时当没有key时默认返回none。 新增/修改元素
进行新添和修改元素时一般是使用 [ ] 来进行操作。因为字典的底层原理相当于是哈希映射所以在添加顺序上不需要去进行特意的插入。
新添元素实现代码如下
student {id: 1,name: zhangsan,
}student[score] 90
print(student)修改元素
当字典中已经存在key时对key进行操作
student {id: 1,name: zhangsan,score: 80
}student[score] 90
print(student) 删除元素
我们一般使用pop 方法根据 key 删除对应的键值对
student {id: 1,name: zhangsan,score: 80
}student.pop(score)
print(student 遍历字典元素
student {id: 1,name: zhangsan,score: 80
}for key in student:print(key, student[key]) 取出所有 key 和 value
# 获取所有键
keys my_dict.keys()# 获取所有值
values my_dict.values()# 获取所有键值对
items my_dict.items()
通过以上方法即可得到需要得到的值。 合法的key类型
因为字典的原理就是哈希表所以我们所设置的key也必须是可哈希的。
print(hash(0))
print(hash(3.14))
print(hash(hello))
print(hash(True))
print(hash(())) # ( ) 是一个空的元组 以上值均为可哈希的值他们都有共同的特点就是是固定的值不会改变包括元组。 有可以作为key值的当然也有不能作为key值的 列表字典 如上两种类型都是可以改变的我们可以通过一系列操作来改变列表和元组内部元素或键值对所以他们作为可变的量导致他们无法作为字典中的key。 可莉敲黑板小结
字典也是一个常用的结构. 字典的所有操作都是围绕 key 来展开的。当遇到需要表示 键值对映射
这种场景时就可以考虑使用字典了~
下面是一个在底层实现方法上字典和列表所体现出来的一些差异~来源于汤神 那么这篇博客到此结束啦~ 大家下篇见