一、Python字典
在Python中,字典(dict)是一个无序的键值对集合。每个键在字典中都是唯一的,而值可以是任何类型的数据(如列表、字典、整数、字符串等)。字典在Python中非常常用,因为它们提供了一种快速查找和访问数据的方法。
字典的键(key)是唯一的,并且不可变(通常是字符串或数字),而值(value)可以是任何类型的数据。字典在内存中存储为哈希表,因此访问字典中的元素通常比访问列表或数组中的元素要快。
创建字典
可以使用大括号 {}
或 dict()
函数来创建字典。
# 使用大括号创建字典
my_dict = {
'apple': 1, 'banana': 2, 'cherry': 3}
# 使用dict()函数创建字典
another_dict = dict(apple=1, banana=2, cherry=3)
# 两种创建方式的结果是一样的
print(my_dict) # 输出: {'apple': 1, 'banana': 2, 'cherry': 3}
print(another_dict) # 输出: {'apple': 1, 'banana': 2, 'cherry': 3}
访问字典中的元素
可以通过键来访问字典中的值。
# 访问字典中的元素
print(my_dict['apple']) # 输出: 1
# 如果键不存在,会抛出KeyError异常
# print(my_dict['orange']) # 这将抛出 KeyError: 'orange'
# 可以使用get()方法来避免KeyError异常
print(my_dict.get('orange', 'Default value')) # 输出: 'Default value'
修改字典
可以通过指定键来修改字典中的值。
# 修改字典中的值
my_dict['apple'] = 5
print(my_dict) # 输出: {'apple': 5, 'banana': 2, 'cherry': 3}
# 添加新的键值对
my_dict['orange'] = 4
print(my_dict) # 输出: {'apple': 5, 'banana': 2, 'cherry': 3, 'orange': 4}
删除字典中的元素
可以使用 del
语句或 pop()
方法来删除字典中的元素。
# 使用del语句删除键值对
del my_dict['banana']
print(my_dict) # 输出: {'apple': 5, 'cherry': 3, 'orange': 4}
# 使用pop()方法删除键值对,并返回被删除的值
removed_value = my_dict.pop('orange')
print(removed_value) # 输出: 4
print(my_dict) # 输出: {'apple': 5, 'cherry': 3}
遍历字典
可以使用 keys()
、values()
和 items()
方法来遍历字典的键、值或键值对。
# 遍历字典的键
for key in my_dict.keys():
print(key)
# 遍历字典的值
for value in my_dict.values():
print(value)
# 遍历字典的键值对
for key, value in my_dict.items():
print(key, value)
字典推导式
字典推导式是一种简洁的方式来创建字典。
# 创建一个新字典,将原字典的键和值互换
new_dict = {
v: k for k, v in my_dict.items()}
print(new_dict) # 输出: {5: 'apple', 3: 'cherry'}
# 创建一个字典,包含原字典中所有值的平方
squared_dict = {
k: v**2 for k, v in my_dict.items()}
print(squared_dict) # 输出: {'apple': 25, 'cherry': 9}
字典是Python中非常强大且灵活的数据结构,它们提供了从键快速检索值的能力,是处理数据时经常使用的工具。
二、Python字典内置函数&方法
Python字典(dict)提供了许多内置函数和方法,这些函数和方法可以用于创建、访问、修改、删除和遍历字典。以下是一些常用的字典内置函数和方法:
内置函数
dict()
:创建一个新的空字典或从一个可迭代对象(如键值对序列)创建字典。
# 创建一个空字典
empty_dict = dict()
# 从键值对序列创建字典
dict_from_pairs = dict([('a', 1), ('b', 2), ('c', 3)])
# 从关键字参数创建字典
dict_from_kwargs = dict(a=1, b=2, c=3)
len()
:返回字典中键值对的数量。
my_dict = {
'a': 1, 'b': 2, 'c': 3}
print(len(my_dict)) # 输出: 3
字典方法
Python字典(dict)提供了许多内置方法来操作字典数据。以下是一些常用的字典内置方法:
clear()
清除字典中的所有项。
my_dict = {
'a': 1, 'b': 2, 'c': 3}
my_dict.clear()
print(my_dict) # 输出: {}
copy()
返回字典的一个浅复制(浅拷贝)。
my_dict = {
'a': 1, 'b': 2, 'c': 3}
new_dict = my_dict.copy()
print(new_dict) # 输出: {'a': 1, 'b': 2, 'c': 3}
get(key, default=None)
返回指定键的值。如果键不存在,则返回默认值(默认为None
)。
my_dict = {
'a': 1, 'b': 2}
print(my_dict.get('a')) # 输出: 1
print(my_dict.get('c')) # 输出: None
print(my_dict.get('c', 0)) # 输出: 0
items()
返回字典中所有键值对的视图对象。
my_dict = {
'a': 1, 'b': 2}
for key, value in my_dict.items():
print(key, value)
# 输出:
# a 1
# b 2
keys()
返回字典中所有键的视图对象。
my_dict = {
'a': 1, 'b': 2}
for key in my_dict.keys():
print(key)
# 输出:
# a
# b
pop(key, default=None)
移除并返回指定键的值。如果键不存在,则返回默认值(默认为None
)。
my_dict = {
'a': 1, 'b': 2}
print(my_dict.pop('a')) # 输出: 1
print(my_dict) # 输出: {'b': 2}
# 如果键不存在,返回默认值
print(my_dict.pop('c', 0)) # 输出: 0
popitem()
移除并返回字典中的最后一对键值对。
my_dict = {
'a': 1, 'b': 2, 'c': 3}
print(my_dict.popitem()) # 输出: ('c', 3)
print(my_dict) # 输出: {'a': 1, 'b': 2}
setdefault(key, default=None)
如果键存在于字典中,返回键的值。如果键不存在,则将该键设置为默认值,并返回默认值。
my_dict = {
'a': 1, 'b': 2}
print(my_dict.setdefault('a', 0)) # 输出: 1
print(my_dict.setdefault('c', 0)) # 输出: 0,并添加键值对'c': 0到字典中
print(my_dict) # 输出: {'a': 1, 'b': 2, 'c': 0}
update(other_dict)
用另一个字典更新当前字典。如果键已存在,则更新其值。
my_dict = {
'a': 1, 'b': 2}
new_items = {
'b': 3, 'c': 4}
my_dict.update(new_items)
print(my_dict) # 输出: {'a': 1, 'b': 3, 'c': 4}
values()
返回字典中所有值的视图对象。
my_dict = {
'a': 1, 'b': 2}
for value in my_dict.values():
print(value)
# 输出:
# 1
# 2
三、Python简介
Python 是一种高级的、动态类型的编程语言,它的设计哲学强调代码的可读性和简洁性。Python 最初由荷兰国家数学与计算机科学研究中心的吉多·范罗苏姆于1989年发明,作为一种叫做 ABC 语言的替代品。Python 的名字来源于一个叫做Monty Python的喜剧团体的爱好者。
Python 是一种解释型语言,这意味着在开发过程中没有编译这个环节。Python 的语法简洁清晰,强制使用空白符作为语句缩进,这有助于提高代码的可读性。Python 还支持面向对象编程,能够轻松地定义和使用类和对象。
Python 是一种自由软件,其源代码和解释器遵循 GPL(GNU General Public License)协议。Python 的标准库提供了丰富的功能,包括文件I/O、网络编程、数据库交互等。此外,Python 的第三方库非常丰富,涵盖了科学计算、数据分析、机器学习、Web 开发等多个领域。
Python 在各个编程语言中比较适合新手学习,它常被用于教育和初学者入门。然而,Python 的强大功能和灵活性也使其成为大型项目的理想选择。在数据科学、人工智能、网络爬虫、自动化运维等领域,Python 都有着广泛的应用。