【100天精通python】Day9:数据结构_字典、集合

目录

 目录

1 字典     

1.1 字典的基本操作示例

1.2 字典推导式

2 集合 

 2.1 集合的常用操作示例

3 列表、元组、字典、集合的区别


1 字典     

          在Python中,字典(Dictionary)是一种无序的数据结构,用于存储键值对的集合。每个键(Key)必须是唯一的,而值(Value)可以是任意类型的数据。 字典使用大括号 “{} ”来定义,键和值之间用冒号 “: ”分隔,每对键值对之间用逗号“ ,” 分隔。 字典的键必须是不可变的数据类型(例如整数、字符串、元组),而值可以是任意数据类型,包括列表、字典等。

字典示意图:

1.1 字典的基本操作示例

        包括创建访问修改删除字典中的值,获取字典的键和值,遍历字典

# 创建一个字典
my_dict = {"name": "Alice", "age": 30, "email": "[email protected]"}

# 访问字典中的值
print(my_dict["name"])  # 输出: Alice
print(my_dict["age"])   # 输出: 30
print(my_dict["email"]) # 输出: [email protected]

# 修改字典中的值
my_dict["age"] = 31

# 添加新的键值对
my_dict["address"] = "123 Main St"

# 删除键值对
del my_dict["email"]

# 检查键是否存在
if "name" in my_dict:
    print("Name exists in the dictionary.")

# 获取字典中所有键
keys = my_dict.keys()
print(keys) # 输出: dict_keys(['name', 'age', 'address'])

# 获取字典中所有值
values = my_dict.values()
print(values) # 输出: dict_values(['Alice', 31, '123 Main St'])

# 获取字典中所有键值对
items = my_dict.items()
print(items) # 输出: dict_items([('name', 'Alice'), ('age', 31), ('address', '123 Main St')])

# 遍历字典
for key, value in my_dict.items():
    print(key, value)
# 输出:
# name Alice
# age 31
# address 123 Main St

字典在Python中经常用于存储具有关联关系的数据,例如存储用户信息、配置选项等。由于其高效的查找和修改特性,字典是Python编程中常用的数据结构之一。

1.2 字典推导式

        应用字典推导式实现根据名字和星座创建一个字典python

# 假设有两个列表,一个是名字列表,一个是星座列表
names = ["张三", "李四", "王五", "赵六"]
constellations = ["白羊座", "双子座", "狮子座", "天蝎座"]

# 使用字典推导式创建字典,将名字作为键,星座作为值
name_constellation_dict = {name: constellation for name, constellation in zip(names, constellations)}

# 打印创建的字典
print(name_constellation_dict)

 输出结果:

{'张三': '白羊座', '李四': '双子座', '王五': '狮子座', '赵六': '天蝎座'}

2 集合 

        在Python中,集合(Set)是一种无序且不重复的数据结构。集合中的元素必须是不可变的数据类型,例如数字、字符串、元组等,而不能包含可变的数据类型,例如列表、字典等。集合使用大括号 {} 来定义,元素之间用逗号 , 分隔。

        集合的主要特点是它不允许包含重复的元素,因此可以用于去除重复项。另外,集合支持一些基本的集合运算,例如并集、交集、差集等。

 2.1 集合的常用操作示例

        包括创建添加删除集合元素,遍历集合,集合的交集并集差集。

# 创建一个集合
my_set = {1, 2, 3, 4, 5}

# 添加元素到集合
my_set.add(6)

# 删除集合中的元素
my_set.remove(3)

# 检查元素是否存在于集合中
if 4 in my_set:
    print("4 exists in the set.")

# 获取集合的长度
length = len(my_set)
print("Length of the set:", length)

# 遍历集合
for item in my_set:
    print(item)

# 创建另一个集合
other_set = {4, 5, 6, 7}

# 计算并集
union_set = my_set | other_set
print("Union set:", union_set)

# 计算交集
intersection_set = my_set & other_set
print("Intersection set:", intersection_set)

# 计算差集
difference_set = my_set - other_set
print("Difference set:", difference_set)

3 列表、元组、字典、集合的区别

  1. 列表(List):

    • 列表是有序的数据结构,可以包含任意类型的元素,包括整数、字符串、列表、元组、字典等。
    • 列表使用方括号 [ ] 定义,元素之间用逗号 , 分隔。
    • 列表是可变的,可以通过索引修改或删除元素,也可以通过各种方法进行添加、插入、删除操作。
    • 列表允许包含重复的元素。
  2. 元组(Tuple):

    • 元组也是有序的数据结构,类似于列表,但元组是不可变的,一旦创建就不能修改。
    • 元组使用圆括号 ( ) 定义,元素之间用逗号 , 分隔。
    • 元组一旦创建后,不能修改其中的元素,因此可以作为字典的键或集合的元素,而列表不能。
  3. 字典(Dictionary):

    • 字典是一种键值对的数据结构,用于存储关联关系。
    • 字典使用花括号 { } 定义,键值对之间用冒号 : 分隔,键值对之间用逗号 , 分隔。
    • 字典中的键必须是不可变的数据类型,例如字符串、数字、元组,而值可以是任意类型的数据。
    • 字典是可变的,可以通过键来修改、添加或删除对应的值。
  4. 集合(Set):

    • 集合是无序且不重复的数据结构,只能包含不可变的元素,不能包含列表、字典等可变的数据类型。
    • 集合使用花括号 { } 定义,元素之间用逗号 , 分隔。
    • 集合是可变的,可以通过方法进行添加、删除等操作。
    • 集合可以用于去除列表中的重复项,以及执行一些基本的集合运算,如并集、交集、差集等。

猜你喜欢

转载自blog.csdn.net/qq_35831906/article/details/131857972
今日推荐