5.Python字典和元组:字典的增删改查、字典遍历、访问元组、修改元组、集合(set)

news2025/2/9 11:54:56

1. 字典(dict

字典是一个无序的键值对集合,每个键对应一个值。

字典的增、删、改、查:
  • 添加键值对:

    my_dict = {'a': 1, 'b': 2}
    my_dict['c'] = 3  # 添加新键'c',值为3
    print(my_dict)  # 输出:{'a': 1, 'b': 2, 'c': 3}
    
  • 修改值:

    my_dict['b'] = 5  # 修改键'b'对应的值
    print(my_dict)  # 输出:{'a': 1, 'b': 5, 'c': 3}
    
  • 删除键值对:

    del my_dict['a']  # 删除键'a'及其对应的值
    print(my_dict)  # 输出:{'b': 5, 'c': 3}
    
  • 查找值:

    value = my_dict.get('b')  # 获取键'b'对应的值
    print(value)  # 输出:5
    

    如果键不存在,可以指定默认值:

    value = my_dict.get('d', 'Not Found')  # 'd' 不存在,返回 'Not Found'
    print(value)  # 输出:Not Found
    
字典遍历:
  • 遍历键值对:

    for key, value in my_dict.items():
        print(key, value)
    # 输出:
    # b 5
    # c 3
    
  • 只遍历键:

    for key in my_dict.keys():
        print(key)
    # 输出:
    # b
    # c
    
  • 只遍历值:

    for value in my_dict.values():
        print(value)
    # 输出:
    # 5
    # 3
    

2. 元组(tuple

元组是不可变的有序集合,创建后不能修改内容。

访问元组:
  • 索引访问:

    my_tuple = (1, 2, 3, 4)
    print(my_tuple[1])  # 输出:2
    
  • 切片访问:

    print(my_tuple[1:3])  # 输出:(2, 3)
    
修改元组:

元组是不可变的,不能修改其中的元素。即不能通过索引修改值:

# 以下代码会抛出 TypeError
# my_tuple[1] = 5  

不过,你可以通过重新创建元组来“修改”其内容:

my_tuple = (1, 2, 3, 4)
new_tuple = my_tuple[:2] + (5,) + my_tuple[3:]
print(new_tuple)  # 输出:(1, 2, 5, 4)

3. 集合(set

集合是一个无序且不重复的元素集合,常用于去重。

创建集合:
my_set = {1, 2, 3, 4}
print(my_set)  # 输出:{1, 2, 3, 4}
集合的增、删、查:
  • 添加元素:

    my_set.add(5)  # 添加单个元素
    print(my_set)  # 输出:{1, 2, 3, 4, 5}
    
  • 添加多个元素:

    my_set.update([6, 7, 8])  # 添加多个元素
    print(my_set)  # 输出:{1, 2, 3, 4, 5, 6, 7, 8}
    
  • 删除元素:

    my_set.remove(5)  # 删除元素5,如果不存在会抛出 KeyError
    print(my_set)  # 输出:{1, 2, 3, 4, 6, 7, 8}
    
    my_set.discard(10)  # 尝试删除不存在的元素,不会抛出错误
    
  • 清空集合:

    my_set.clear()  # 清空集合
    print(my_set)  # 输出:set()
    
集合操作:
  • 集合的并集:

    set1 = {1, 2, 3}
    set2 = {3, 4, 5}
    union_set = set1 | set2  # 或使用 set1.union(set2)
    print(union_set)  # 输出:{1, 2, 3, 4, 5}
    
  • 集合的交集:

    intersection_set = set1 & set2  # 或使用 set1.intersection(set2)
    print(intersection_set)  # 输出:{3}
    
  • 集合的差集:

    difference_set = set1 - set2  # 或使用 set1.difference(set2)
    print(difference_set)  # 输出:{1, 2}
    
  • 集合的对称差集:

    symmetric_difference_set = set1 ^ set2  # 或使用 set1.symmetric_difference(set2)
    print(symmetric_difference_set)  # 输出:{1, 2, 4, 5}
    

总结:

  • 字典用于存储键值对,支持增、删、改、查操作,且可以遍历键、值和键值对。
  • 元组是不可变的有序集合,适用于需要保证数据不变的场景。访问方式类似于列表,但不可修改。
  • 集合是无序且不重复的元素集合,适用于去重和集合操作,如并集、交集等。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2295256.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

无限使用Cursor

原理:运行程序获得15天的免费试用期,重新运行程序重置试用期,实现无限使用。免费的pro账号,一个月有250的高级模型提问次数。 前提:已安装cursor cursor-vip工具:https://cursor.jeter.eu.org?p95d60efe…

unity碰撞的监测和监听

1.创建一个地面 2.去资源商店下载一个火焰素材 3.把procedural fire导入到自己的项目包管理器中 4.给magic fire 0 挂在碰撞组件Rigidbody , Sphere Collider 5.创建脚本test 并挂在magic fire 0 脚本代码 using System.Collections; using System.Collections.Generic; usi…

企业FTP替代升级,实现传输大文件提升100倍!

随着信息技术的飞速发展,网络安全环境也变得越来越复杂。在这种背景下,传统的FTP(文件传输协议)已经很难满足现代企业对文件传输的需求了。FTP虽然用起来简单,但它的局限性和安全漏洞让它在面对高效、安全的数据交换时…

python基础入门:3.3序列通用操作

Python序列操作终极指南:解锁数据处理的核心技能 # 快速导航 sequence_types ["列表", "元组", "字符串", "字节序列"]一、核心操作三位一体 1. 索引与切片体系 # 通用索引规则 data ["A", "B", &…

Linux | 自动化构建 —— make / Makefile

文章目录 自动化构建-make/Makefile一、make 工具概述二、Makefile 基本结构三、 Makefile和make的基本使用3.1最基本的gcc编译:3.2make执行Makefile文件3.3.PHONY伪目标 四、Makefile拓展4.1直接根据文件名编写Makefile4.2变量的使用4.3Makefile的适度扩展语法&…

【个人开发】macbook m1 Lora微调qwen大模型

本项目参考网上各类教程整理而成,为个人学习记录。 项目github源码地址:Lora微调大模型 项目中微调模型为:qwen/Qwen1.5-4B-Chat。 去年新发布的Qwen/Qwen2.5-3B-Instruct同样也适用。 微调步骤 step0: 环境准备 conda create --name fin…

电脑开机提示按f1原因分析及终极解决方法来了

经常有网友问到一个问题,我电脑开机后提示按f1怎么解决?不管理是台式电脑,还是笔记本,都有可能会遇到开机需要按F1,才能进入系统的问题,引起这个问题的原因比较多,今天小编在这里给大家列举了比…

2025华为OD机试真题最新题库 (B+C+D+E卷) + 在线OJ在线刷题使用说明(C++、Java、Python合集)(正在更新E卷,目前已收录581道)

2024年8月份,华为已经开始使用E卷题库,题目和往期一样,旧题加新题的组合,有题目第一时间更新,大家可以跟着继续学习,目前使用复用题较多,可在OJ上直接找到对应的E卷学习,可以放心学习…

Qt+海康虚拟相机的调试

做机器视觉项目的时候,在没有相机或需要把现场采集的图片在本地跑一下做测试时,可以使用海康的虚拟相机调试。以下是设置步骤: 1.安装好海康MVS软件,在菜单栏->工具选择虚拟相机工具,如下图: 2.打开虚拟…

《Origin画百图》之边际分布曲线图

《Origin画百图》第六集——边际分布曲线图 入门操作可看《30秒,带你入门Origin》 边际分布曲线图,其中包含散点图形,而在图的边际有着分布曲线图。在比较数据以查看多个变量之间是否存在关系时非常有用。 1.数据准备:为多列XY数…

如何提升自己的能力

提高自身能力是一个长期且综合的过程,需要从多个方面进行努力和持续的学习,以下是一些有效的方法: 明确目标与规划 确定目标:首先要明确自己想要提高哪些方面的能力,例如沟通能力、领导力、专业技能等,并根…

Vim跳转文件及文件行结束符EOL

跳转文件 gf 从当前窗口打开那个文件的内容,操作方式:让光标停在文件名上,输入gf。 Ctrlo 从打开的文件返回之前的窗口 Ctrlwf 可以在分割的窗口打开跳转的文件,不过在我的实验不是次次都成功。 统一行尾格式 文本文件里存放的…

Termux安装ssh实现电脑ssh

Termux下载 点击下载 在 Termux 中安装并使用 SSH,按照以下步骤操作: 1. 更新软件包列表 pkg update && pkg upgrade2. 安装 OpenSSH pkg install openssh3. 设置 SSH 密码(必须,否则无法使用 SSH 服务器&#xff09…

DeepSeek大模型介绍、本地化部署与使用!【AI大模型】

一、DeepSeek 是什么? 1.技术定位 专注大模型与AGI研究,开发高性能基座模型(如 DeepSeek LLM 系列),支持长文本、多模态、代码生成等复杂任务。 提供开源模型(如 DeepSeek-MoE、DeepSeek-V2)…

Axios 的原理

🤍 前端开发工程师、技术日更博主、已过CET6 🍨 阿珊和她的猫_CSDN博客专家、23年度博客之星前端领域TOP1 🕠 牛客高级专题作者、打造专栏《前端面试必备》 、《2024面试高频手撕题》 🍚 蓝桥云课签约作者、上架课程《Vue.js 和 E…

Gitlab中如何进行仓库迁移

需求:之前有一个自己维护的新仓库A,现在需要将这个仓库提交并覆盖另一个旧的仓库B,需要保留A中所有的commit信息。 1.方法一:将原有仓库A导出后再导入到新的仓库B中 适用场景:新的仓库B是一个待建仓库,相当…

Centos挂载镜像制作本地yum源,并补装图形界面

内网环境centos7.9安装图形页面内网环境制作本地yum源 上传镜像到服务器目录 创建目录并挂载镜像 #创建目录 cd /mnt/ mkdir iso#挂载 mount -o loop ./CentOS-7-x86_64-DVD-2009.iso ./iso #前面镜像所在目录,后面所挂载得目录#检查 [rootlocalhost mnt]# df -h…

Thread类以及常见方法

Thread类是JVM用来管理线程的一个类,每个线程都有一个唯一的Thread对象与之关联。 多一个线程,就多一条执行流,每个执行流也要一个对象来描述,而Thread类的对象就是用来描述一个线程的执行流,JVM 会将这些 Thread 对象…

【蓝桥杯—单片机】第十一届省赛真题代码题解题笔记 | 省赛 | 真题 | 代码题 | 刷题 | 笔记

第十一届省赛真题代码部分 前言赛题代码思路笔记竞赛板配置内部振荡器频率设定键盘工作模式跳线扩展方式跳线 建立模板明确设计要求和初始状态显示功能部分数据界面第一部分第二部分第三部分调试时发现的问题 参数设置界面第一部分第二部分和第四部分第三部分和第五部分 按键功…

CLion2024.3.2版中引入vector头文件报错

报错如下&#xff1a; 在MacBook端的CLion中引入#include <vector>报 vector file not found&#xff08;引入map、set等也看参考此方案&#xff09;&#xff0c;首先可以在Settings -> Build,Execution,Deployment -> Toolchains中修改C compiler和C compiler的路…