Python基础(十五、数据容器之字典Dict)

文章目录

  • 一、字典的语法
  • 二、字典的使用方法
    • 新增/更新
    • 取值[key]
    • 清空clear()
    • 浅拷贝copy()
    • 创建新字典fromkeys(seq, value)
    • 转列表包含元组键值对items()
    • 获取字典键列表keys()
    • 获取字典值列表values()
    • 删除指定键并返回对应的值pop(key, default)
    • 随机删除并返回一个键值对popitem()
    • 返回指定键的值setdefault(key, default)
    • 更新字典update(other_dict)
    • 字典中键值对的数量len()
  • 三、遍历字典

什么是数据容器?
数据容器是Python中用于存储和操作数据的对象。它们可以容纳不同类型的数据,如数字、字符串、列表、字典等,并提供了各种方法来访问和操作这些数据。

有哪些数据容器?
Python提供了几种常见的数据容器,包括列表(List)、元组(Tuple)、字典(Dictionary)和集合(Set)。他们都能满足容纳多个元素的特点。
每种容器都有其独特的特点和用途,我们将逐一探索它们。

字典(Dictionary)
字典是一种键值对的数据容器,用于存储和访问具有唯一键的值。字典中的键和值可以是任意类型的数据。例如,我们可以创建一个名为student的字典来存储学生信息:student = {‘name’: ‘John’, ‘age’: 18, ‘grade’: ‘A’}。

一、字典的语法

字典的定义,使用{},存储的元素是一个一个的键值对。

# 定义字典字面量
{key: value, key: value, ……, key: value}
# 定义字典变量
my_dict = {key: value, key: value, ……, key: value}
# 定义空字典
my_dict = {}
my_dict = dict()

例如:

my_dict = {"王力宏": {"年龄":22}, "周杰伦": {"歌曲名称": ["简单爱","青花瓷"]}, "林俊杰":["江南","一千年以后","小酒窝","背对背拥抱"]}
my_dict2 = dict()
my_dict3 = {}

二、字典的使用方法

新增/更新

通过字典[key]=value

my_dict = {'name': 'Alice', 'age': 25, 'city': 'New York'}
my_dict['born']=1999
print(my_dict)  # 输出: {'name': 'Alice', 'age': 25, 'city': 'New York', 'born': 1999}

取值[key]

通过[key]即可取出value

my_dict = {'name': 'Alice', 'age': 25, 'city': 'New York'}
print(my_dict['name'])  # 输出: Alice

清空clear()

清空字典中的所有元素

# clear() 方法
my_dict = {'name': 'Alice', 'age': 25, 'city': 'New York'}
my_dict.clear()
print(my_dict)  # 输出: {}

浅拷贝copy()

返回字典的浅拷贝

my_dict = {'name': 'Alice', 'age': 25, 'city': 'New York'}
new_dict = my_dict.copy()
print(new_dict)  # 输出: {'name': 'Alice', 'age': 25, 'city': 'New York'}

创建新字典fromkeys(seq, value)

创建一个新字典,使用指定的键序列(seq)作为键,并设置它们的值为 value。

# fromkeys(seq, value) 方法
x = ('key1', 'key2', 'key3')
y = 0
new_dict = dict.fromkeys(x, y)
print(new_dict)  # 输出: {'key1': 0, 'key2': 0, 'key3': 0}

转列表包含元组键值对items()

返回一个包含所有字典项的列表,每个元素都是一个 (key, value) 的元组。

# items() 方法
my_dict = {'name': 'Alice', 'age': 25, 'city': 'New York'}
items = my_dict.items()
print(items)  # 输出: dict_items([('name', 'Alice'), ('age', 25), ('city', 'New York')])

获取字典键列表keys()

返回一个包含所有字典键的列表。

my_dict = {'name': 'Alice', 'age': 25, 'city': 'New York'}
# keys() 方法
keys = my_dict.keys()
print(keys)  # 输出: dict_keys(['name', 'age', 'city'])

获取字典值列表values()

返回一个包含所有字典值的列表。

my_dict = {'name': 'Alice', 'age': 25, 'city': 'New York'}
# values() 方法
values = my_dict.values()
print(values)  # 输出: dict_values(['Alice', 25, 'New York'])

删除指定键并返回对应的值pop(key, default)

删除指定键并返回对应的值,如果键不存在则返回默认值。

# pop(key, default) 方法
my_dict = {'name': 'Alice', 'age': 25, 'city': 'New York'}
value = my_dict.pop('age')
print(value)  # 输出: 25

随机删除并返回一个键值对popitem()

随机删除并返回一个键值对(通常是末尾的键值对)。

# popitem() 方法
my_dict = {'name': 'Alice', 'age': 25, 'city': 'New York'}
key, value = my_dict.popitem()
print(key, value)   # 输出: city New York
print(my_dict)      # 输出: {'name': 'Alice', 'age': 25}

返回指定键的值setdefault(key, default)

返回指定键的值,如果键不存在则插入指定的键值对并返回默认值。

# setdefault(key, default) 方法
my_dict = {'name': 'Alice', 'age': 25}
value = my_dict.setdefault('city', 'New York')
print(value)        # 输出: New York
print(my_dict)      # 输出: {'name': 'Alice', 'age': 25, 'city': 'New York'}
value = my_dict.setdefault('age', 30)  
print(value)        # 输出: 25
print(my_dict)      # 输出: {'name': 'Alice', 'age': 25, 'city': 'New York'}

更新字典update(other_dict)

使用另一个字典或可迭代对象的键值对更新字典。

# update(other_dict) 方法
my_dict = {'name': 'Alice', 'age': 25}
other_dict = {'city': 'New York', 'gender': 'female'}
my_dict.update(other_dict)
print(my_dict)      # 输出: {'name': 'Alice', 'age': 25, 'city': 'New York', 'gender': 'female'}

字典中键值对的数量len()

返回字典中键值对的数量。

# len() 方法
my_dict = {'name': 'Alice', 'age': 25, 'city': 'New York'}
length = len(my_dict)
print(length)       # 输出: 3

三、遍历字典

可以使用 for 循环遍历字典的键、值或者键值对。

my_dict = {'name': 'Alice', 'age': 25, 'city': 'New York'}

 # 遍历键
for key in my_dict:
    print(key)

 # 遍历键
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)

你可能感兴趣的:(python,python,开发语言)