python教学入门:字典和集合

server/2025/1/2 3:52:04/

在这里插入图片描述

字典(Dictionary):

在这里插入图片描述

定义:

  • 字典是 Python 中的一种数据结构,用于存储键值对(key-value pairs)。
  • 字典使用花括号 {} 定义,键值对之间用冒号 : 分隔,每对键值对之间用逗号 , 分隔。

特点:

  • 字典中的键必须是不可变的(immutable),通常使用字符串或整数作为键。
  • 字典中的值可以是任意类型的,包括其他字典或集合。

常用操作:

  • 访问元素:可以通过键来访问字典中的值。
  • 修改元素:可以通过键来修改字典中的值。
  • 添加元素:可以使用新的键值对来添加元素到字典中。
  • 删除元素:可以使用 del 关键字或者 pop() 方法删除字典中的元素。
    在这里插入图片描述
    使用关键字参数创建字典:可以通过传递关键字参数来创建一个包含指定键值对的字典。
python">my_dict = dict(name="Alice", age=30, city="New York")
print(my_dict)  # 输出:{'name': 'Alice', 'age': 30, 'city': 'New York'}

示例:
定义和访问元素:

python"># 定义一个字典
my_dict = {'name': 'Alice', 'age': 30, 'city': 'New York'}# 访问字典中的元素
print(my_dict['name'])  # 输出:Alice
print(my_dict['age'])   # 输出:30
print(my_dict['city'])  # 输出:New York

修改元素:
在这里插入图片描述

python">my_dict = {'name': 'Alice', 'age': 30}
other_dict = {'city': 'New York', 'age': 35}my_dict.update(other_dict)
print(my_dict)  # 输出:{'name': 'Alice', 'age': 35, 'city': 'New York'}
python"># 修改字典中的元素
my_dict['age'] = 35
print(my_dict['age'])  # 输出:35

添加元素:

python"># 添加新的键值对到字典中
my_dict['gender'] = 'Female'
print(my_dict)  # 输出:{'name': 'Alice', 'age': 35, 'city': 'New York', 'gender': 'Female'}

删除元素:
在这里插入图片描述
pop() 方法用于删除字典中指定键的键值对,并返回该键对应的值。如果指定的键不存在,则可以通过可选的 default 参数指定一个默认值,如果键不存在且没有指定默认值,则会引发 KeyError 错误。

python">my_dict = {'name': 'Alice', 'age': 30, 'city': 'New York'}# 删除键为 'age' 的键值对,并返回对应的值
age = my_dict.pop('age')
print(age)  # 输出:30
print(my_dict)  # 输出:{'name': 'Alice', 'city': 'New York'}# 删除不存在的键,并指定默认值
salary = my_dict.pop('salary', 0)
print(salary)  # 输出:0

在这里插入图片描述
popitem() 方法用于随机删除并返回字典中的一个键值对(通常是最后一个键值对)。如果字典为空,则会引发 KeyError 错误。

python">my_dict = {'name': 'Alice', 'age': 30, 'city': 'New York'}# 随机删除并返回一个键值对
item = my_dict.popitem()
print(item)  # 输出:('city', 'New York')
print(my_dict)  # 输出:{'name': 'Alice', 'age': 30}

在这里插入图片描述
clear() 方法用于删除字典中的所有键值对,即清空字典,但字典对象仍然存在。

python">my_dict = {'name': 'Alice', 'age': 30, 'city': 'New York'}# 清空字典
my_dict.clear()
print(my_dict)  # 输出:{}
python"># 删除字典中的元素
del my_dict['city']
print(my_dict)  # 输出:{'name': 'Alice', 'age': 35, 'gender': 'Female'}

items() 方法
在 Python 中,items() 方法用于返回字典中所有键值对的视图,返回的视图是一个包含键值对的可迭代对象。每个键值对都表示为一个元组,其中第一个元素是键,第二个元素是对应的值。

python">my_dict = {'name': 'Alice', 'age': 30, 'city': 'New York'}# 获取字典中所有键值对的视图
items = my_dict.items()
print(items)  # 输出:dict_items([('name', 'Alice'), ('age', 30), ('city', 'New York')])# 遍历键值对视图
for key, value in items:print(f"Key: {key}, Value: {value}")

集合(Set):

在这里插入图片描述

定义:

  • 集合是 Python 中的一种数据结构,用于存储无序且唯一的元素。
  • 集合使用花括号 {} 定义,元素之间用逗号 , 分隔。

特点:

  • 集合中的元素必须是不可变的(immutable),通常使用整数、字符串等不可变类型作为元素。
  • 集合中的元素是唯一的,重复的元素会被自动去重。

常用操作:

  • 添加元素:可以使用 add() 方法向集合中添加新元素。
  • 删除元素:可以使用 remove() 方法删除集合中的元素。
  • 集合运算:支持交集、并集、差集等集合运算。
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

示例:
定义和添加元素:

python"># 定义一个集合
my_set = {1, 2, 3, 'a', 'b', 'c'}# 添加元素到集合中
my_set.add(4)
print(my_set)  # 输出:{1, 2, 3, 4, 'a', 'b', 'c'}

删除元素:

python"># 从集合中删除元素
my_set.remove('a')
print(my_set)  # 输出:{1, 2, 3, 4, 'b', 'c'}

集合运算:

python"># 定义两个集合
set1 = {1, 2, 3, 4, 5}
set2 = {4, 5, 6, 7, 8}# 求交集
intersection = set1.intersection(set2)
print(intersection)  # 输出:{4, 5}# 求并集
union = set1.union(set2)
print(union)  # 输出:{1, 2, 3, 4, 5, 6, 7, 8}# 求差集
difference = set1.difference(set2)
print(difference)  # 输出:{1, 2, 3}

set() 函数:
在这里插入图片描述
set() 函数用于创建一个可变的集合,它接受一个可迭代对象作为参数,并将其中的元素添加到集合中。如果不传递任何参数给 set() 函数,则会创建一个空集合。

python"># 创建一个包含多个元素的集合
my_set = set([1, 2, 3, 4, 5])
print(my_set)  # 输出:{1, 2, 3, 4, 5}# 创建一个空集合
empty_set = set()
print(empty_set)  # 输出:set()

frozenset() 函数:
frozenset() 函数用于创建一个不可变的集合,它接受一个可迭代对象作为参数,并将其中的元素添加到集合中。不可变集合与普通集合的区别在于,不可变集合的内容在创建后不能被修改,也不能添加或删除元素。

python"># 创建一个包含多个元素的不可变集合
my_frozenset = frozenset([1, 2, 3, 4, 5])
print(my_frozenset)  # 输出:frozenset({1, 2, 3, 4, 5})

& 操作符(交集):
在这里插入图片描述
& 操作符用于计算两个集合的交集,即返回同时存在于两个集合中的元素组成的新集合。

python">set1 = {1, 2, 3, 4, 5}
set2 = {4, 5, 6, 7, 8}intersection_set = set1 & set2
print(intersection_set)  # 输出:{4, 5}

【- 】操作符(差集):
在这里插入图片描述

【- 】操作符用于计算两个集合的差集,即返回存在于第一个集合但不存在于第二个集合中的元素组成的新集合。

python">set1 = {1, 2, 3, 4, 5}
set2 = {4, 5, 6, 7, 8}difference_set = set1 - set2
print(difference_set)  # 输出:{1, 2, 3}

^ 操作符(对称差):
^ 操作符用于计算两个集合的对称差,即返回存在于任一集合但不同时存在于两个集合中的元素组成的新集合。
在这里插入图片描述

python">set1 = {1, 2, 3, 4, 5}
set2 = {4, 5, 6, 7, 8}symmetric_difference_set = set1 ^ set2
print(symmetric_difference_set)  # 输出:{1, 2, 3, 6, 7, 8}

http://www.ppmy.cn/server/1833.html

相关文章

DBA面试(ORACLE ADG篇)

一、在Oracle的DG中,RFS、LNSn、MRP、LSP进程的作用分别是什么? 1.RFS进程 RFS(Remote File Server)进程主要用来接受从主库传送过来的日志信息。对于物理备库而言,RFS进程可以直接将日志写进Standby Redo logs&…

M系Mac关闭SIP

文章目录 M系Mac关闭SIP一:查看SIP状态二:关闭SIP步骤 M系Mac关闭SIP 一:查看SIP状态 1、使用终端 打开终端 输入csrutil status,回车 你会看到以下信息中的一个,指示SIP状态 已打开 System Integrity Protection s…

TCP/IP_第八章_静态路由_实验案例一

实验案例一:配置静态路由实现全网互通 1、实验环境 如图8.10所示,三台路由器R1.R2,R3两两互连,每台路由器上都配置了Loopback地址模拟网络环境。 2、需求描述 需要在三台路由器上配置静态路由,以实现各网…

单链表的一些练习【移除数组元素】【反转链表】【链表的中间节点】【合并两个有序链表】【约瑟夫问题】【分割链表】

一.移除数组元素 /*** Definition for singly-linked list.* struct ListNode {* int val;* struct ListNode *next;* };*/typedef struct ListNode ListNode; struct ListNode* removeElements(struct ListNode* head, int val) {ListNode* pcurhead;//创建一个新链表…

TCP/IP协议—TCP

TCP/IP协议—TCP TCP协议TCP通信特点TCP技术概念TCP定时器 TCP头部报文TCP连接三次握手(建立连接)四次挥手(释放连接)连接状态 TCP协议 传输控制协议(TCP,Transmission Control Protocol)是一种…

如何查看已使用的IP

如何查看已使用的IP 一、用cmd登录(winr) 二、用命令查看IP 在cmd命令窗口输入“ipconfig”命令,按下键盘上的回车键 这时会在cmd命令窗口看见自己电脑的IP地址,在命令窗里找到你的“以太网适配器 以太网”或者“无线局域网适配器…

props组件传值(子串子)

父组件 <version :show"versionShow" closeVersion"versionShow false" data"onData"></version> <footBar url"index" :footShow"footShow"></footBar>// 提醒footbar隐藏 onData(data) {this.fo…

2024年认证杯SPSSPRO杯数学建模C题(第一阶段)云中的海盐全过程文档及程序

2024年认证杯SPSSPRO杯数学建模 C题 云中的海盐 原题再现&#xff1a; 巴黎气候协定提出的目标是&#xff1a;在 2100 年前&#xff0c;把全球平均气温相对于工业革命以前的气温升幅控制在不超过 2 摄氏度的水平&#xff0c;并为 1.5 摄氏度而努力。但事实上&#xff0c;许多…