python中的列表、元组、字典的介绍与使用
目录
一、区别介绍
1.使用场景以及区别图
2.详细介绍
列表
元组
字典
二、例子操作
(一)列表list
1.定义和初始化
2.访问元素(下标)
3.修改元素(下标)
4.添加元素(append、下标insert)
5.删除元素(指定元素名、下标)
6.切片取值(下标)
7.遍历列表
(二)元组tuple
1.定义和初始化
2.访问元素(下标)
3.元组不可变
4.遍历元组
5.切片操作
(三)字典dict
1.定义和初始化
2.访问元素(指定键)
3.修改元素(指定键)
4.删除元素(指定键)pop和del
5.遍历字典--items()
6.获取字典的键、值、键值对
一、区别介绍
在 Python 中,列表(list)、元组(tuple)和字典(dictionary)是三种常见的数据结构。
1.使用场景以及区别图
何时使用
- 列表:当你需要一个可修改、顺序的容器时。
- 元组:当你需要一个不可以修改的顺序容器时,通常用于函数返回多个值等。
- 字典:当你需要根据键快速查找值时,适用于存储关联数据。
区别图
2.详细介绍
列表
定义:列表是一有序的可变容器,可以包含多个元素。
语法:使用[ ]来定义
可变性:列表是可变的,可以修改、添加或删除元素
特点:1.有序:列表中的元素有顺序,可以通过索引访问。2.支持重复操作。3.支持切片操作
元组
定义:元组是一个有序的不可变容器,可以包含多个元素。
语法:使用小括号()来定义
可变性:元组是不可变的,创建后不能修改、添加或者删除元素。
特点:1.有序:元组中的元素有顺序,可以通过索引访问。2.不支持重复元素的删除或者修改。3.比列表占用内存少,且操作速度更快,因此适合存储不需要更改的数据
字典
定义:字典是一个无序的可变容器,用于存储键值对。
语法:使用花括号{ }来定义,键值对通过:分隔,键值对之间用,分隔。
可变性:字典是可变的,可以修改的、添加和删除键值对。
特点:1.无序:字典中的元素没有顺序。2.键是唯一的,不可重复。3.键必须是不可变的数据类型(如字符串、数字、元组),值可以是任意的数据类型。
二、例子操作
(一)列表list
1.定义和初始化
#创建一个包含整数的列表
my_list = [1,2,3,4,5,6,7,8,9]
print(my_list) #输出:[1, 2, 3, 4, 5, 6, 7, 8, 9]
2.访问元素(下标)
索引下标为0的元素
my_list = [1,2,3,4,5,6,7,8,9]
#索引下标为0的元素
print(my_list[0]) #输出:1
访问列表中的最后一个元素
my_list = [1,2,3,4,5,6,7,8,9]
#访问列表中的最后一个元素
print(my_list[-1]) #输出:9
3.修改元素(下标)
将下标为1的元素修改为hellow
my_list = [1,2,3,4,5,6,7,8,9]
my_list[1]="hellow"
print(my_list) #输出:[1, 'hellow', 3, 4, 5, 6, 7, 8, 9]
4.添加元素(append、下标insert)
在列表的末尾添加一个元素666
my_list = [1,2,3,4,5,6,7,8,9]
# 在列表的末尾添加一个元素666
my_list.append(666)
print(my_list) #输出:[1, 2, 3, 4, 5, 6, 7, 8, 9, 666]
在列表指定位置插入指定的元素888
my_list = [1,2,3,4,5,6,7,8,9]
# 在列表下标为2的位置插入一个888的元素
my_list.insert(2,888)
print(my_list) #输出:[1, 2, 888, 3, 4, 5, 6, 7, 8, 9]
5.删除元素(指定元素名、下标)
删除指定的元素666
my_list = [1,2,3,4,5,666,7,8,9]
# 删除列表里面666这个元素
my_list.remove(666)
print(my_list) #输出:[1, 2, 3, 4, 5, 7, 8, 9]
删除指定下标的元素---pop
my_list = [1,2,3,4,5,6,7,8,9]
# 删除列表里面下标为1的元素
print(my_list.pop(1)) #输出2。代表1下标为的这个元素2已经被删除
print(my_list) #输出:[1, 3, 4, 5, 6, 7, 8, 9]。可以看到列表里面没有2了
删除指定下标的元素--del
my_list = [1,2,3,4,5,6,7,8,9]
# 删除列表里面下标为1的元素
del my_list[1]
print(my_list) #输出:[1, 3, 4, 5, 6, 7, 8, 9]。可以看到列表里面没有2了
6.切片取值(下标)
my_list = [1,2,3,4,5,6,7,8,9]
#列表切片,取下标1~4(不包括下标4)的值
print(my_list[1:4]) #输出:[2, 3, 4]
7.遍历列表
my_list = [1,2,3,4,5,6,7,8,9]
for i in my_list:print(i) #竖的输出:1 2 3 4 5 6 7 8 9
(二)元组tuple
1.定义和初始化
# 创建一个包含整数的元组
my_tuple = (1, 2, 3, 4)
print(my_tuple) # 输出: (1, 2, 3, 4)
2.访问元素(下标)
访问下标为0的元素
my_tuple = (1, 2, 3, 4)
#访问下标为0的元素
print(my_tuple[0])#1
访问最后一个元素
my_tuple = (1, 2, 3, 4)
#访问最后一个元素
print(my_tuple[-1])#4
3.元组不可变
尝试修改元组,出现不可修改
my_tuple = (1, 2, 3, 4)
#修改下标为0的元素为666
print(my_tuple[0]==666)#输出:False
4.遍历元组
循环遍历出元组所有的元素
my_tuple = (1, 2, 3, 4)
#遍历元组
for i in my_tuple:print(i)#竖着输出1 2 3 4
5.切片操作
my_tuple = (1, 2, 3, 4)
#切片下标1~3(不包含)
print(my_tuple[0:3])#输出:(1, 2, 3)
(三)字典dict
1.定义和初始化
# 创建一个字典
my_dict = {'name':'zhangsan','age':20,'sex':'男'}
print(my_dict) # 输出: {'name': 'zhangsan', 'age': 20, 'sex': '男'}
2.访问元素(指定键)
通过键访问值[ ]
my_dict = {'name':'zhangsan','age':20,'sex':'男'}
#通过键访问值
print(my_dict['name']) # 输出: zhangsan
通过键访问值get
my_dict = {'name':'zhangsan','age':20,'sex':'男'}
#通过键访问值
print(my_dict.get("name")) # 输出: zhangsan#如果不存在会返回默认值,如果定义的话
#例如country = my_dict.get('country', 'USA')
#print(country) # 输出: USA
3.修改元素(指定键)
通过指定键改变值
my_dict = {'name':'zhangsan','age':20,'sex':'男'}
#通过键改变值
my_dict["name"]="lisi"
print(my_dict) # 输出: {'name': 'lisi', 'age': 20, 'sex': '男'}
新增键值对(已有的键就修改,没有的键就是新增)
my_dict = {'name':'zhangsan','age':20,'sex':'男'}
#添加新的键值对
my_dict["bb"]="王五"
print(my_dict) # 输出: {'name': 'zhangsan', 'age': 20, 'sex': '男', 'bb': '王五'}
4.删除元素(指定键)pop和del
使用pop通过键删除对应的键值对
my_dict = {'name':'zhangsan','age':20,'sex':'男'}
#通过键删除对应的键和值
print(my_dict.pop("sex")) #输出:男
print(my_dict) # 输出:{'name': 'zhangsan', 'age': 20}
使用del通过键删除对应的键值对
my_dict = {'name':'zhangsan','age':20,'sex':'男'}
#通过键删除对应的键和值
del my_dict["sex"]
print(my_dict) # 输出:{'name': 'zhangsan', 'age': 20}
5.遍历字典--items()
my_dict = {'name':'zhangsan','age':20,'sex':'男'}
for key,value in my_dict.items():print(f"{key}:{value}") # 竖着输出:name:zhangsan age:20 sex:男
6.获取字典的键、值、键值对
通过key获取全部键
my_dict = {'name':'zhangsan','age':20,'sex':'男'}
print(my_dict.keys())#输出:dict_keys(['name', 'age', 'sex'])
通过value获取全部值
my_dict = {'name':'zhangsan','age':20,'sex':'男'}
print(my_dict.values())#dict_values(['zhangsan', 20, '男'])
获取所有键值对
my_dict = {'name':'zhangsan','age':20,'sex':'男'}
print(my_dict)#输出:{'name': 'zhangsan', 'age': 20, 'sex': '男'}
有什么问题都可以评论区留言,看见都会回复的
如果你觉得本篇文章对你有所帮助的,把“文章有帮助的”打在评论区
多多支持吧!!!
点赞收藏评论,当然也可以点击文章底部的红包或者👇订阅付费文章创作支持一下了。抱拳了!
vip文章:http://t.csdn.cn/Uq5j1
bug大全订阅文章:http://t.csdn.cn/j6UyR
相关文章:

python中的列表、元组、字典的介绍与使用
目录 一、区别介绍 1.使用场景以及区别图 2.详细介绍 列表 元组 字典 二、例子操作 (一)列表list 1.定义和初始化 2.访问元素(下标) 3.修改元素(下标) 4.添加元素(append、下标insert) 5.删除…...
深入浅出:PHP中的表单处理全解析
引言 在Web开发的世界里,表单是用户与服务器之间交互的重要桥梁。它们允许用户提交信息,并通过后端语言(如PHP)进行处理。本文将带你深入了解PHP中的表单处理,从基础的创建和提交到高级的安全措施和实用技巧ÿ…...

双绞线直连两台电脑的方法及遇到的问题
文章目录 前言一、步骤二、问题总结:问题1:遇到ping不通的问题。问题2:访问其他电脑上的共享文件时提示输入网络凭证问题3:局域网共享文件时提示“没有权限访问,请与网络管理员联系请求访问权限” 前言 办公室里有两台电脑,一台装了显卡用于…...

2024年认证杯SPSSPRO杯数学建模D题(第一阶段)AI绘画带来的挑战解题全过程文档及程序
2024年认证杯SPSSPRO杯数学建模 D题 AI绘画带来的挑战 原题再现: 2023 年开年,ChatGPT 作为一款聊天型AI工具,成为了超越疫情的热门词条;而在AI的另一个分支——绘图领域,一款名为Midjourney(MJÿ…...
Qt 设置QLineEdit控件placeholderText颜色
Qt 会根据QLineEdit控件显示文本的颜色自动设置placeholderText颜色,如果想自定义placeholderText颜色,可以通过以下方法。 在样式文件中增加以下设置: QLineEdit#lineEdit_userName, QLineEdit#lineEdit_password{border: none;padding: 6…...
麒麟 V10 系统(arm64/aarch64)离线安装 docker 和 docker-compose
前期准备 查看操作系统版本,跟本文标题核对一下 uname -a查看操作系统架构 uname -m下载离线包 下载 docker 离线包 地址:https://download.docker.com/linux/static/stable/ 选择系统架构对应的文件目录:aarch64,我目前使用…...

Windows基线自动化检查脚本
本批处理脚本的主要目的是对Windows系统进行安全性检查。检查了多个安全参数和设置,以确保系统符合特定的安全标准。当然也可能有些检查项不是很准确,需要根据实际环境再调试一下,以下是该脚本的详细描述和功能分析: 1. 脚本初始…...

离谱的梯形滤波器——增加过渡点
增加过渡点 频率采样法(Frequency Sampling Method)是一种设计FIR滤波器的方法,通过在频域中指定希望的频率响应,然后利用逆离散傅里叶变换(IDFT)来获得滤波器的脉冲响应。然而,这种方法容易导…...
tauri下的两个常用rust web框架:Leptos和Trunk
tauri下有两个常用rust web框架,就是Leptos和Trunk Leptos Leptos 是一个基于 Rust 的 Web 框架。您可以在他们的官方网站上了解更多关于 Leptos 的信息。本指南适用于 Leptos 的 0.6 版本。 Leptos Leptos 是一个用 Rust 编写的现代、高效且安全的 Web 框架。它…...

pubmed关键词搜索技能1:待更新
1,白话变为领域内学术词: 例如,我想要做蛋白质糖基化修饰以功能,这个领域课题,则 第一性原理,首先是拆分词汇:糖基化(一般比蛋白质、修饰、功能要在title中更常见,或者是…...

【技巧】Mac上如何显示键盘和鼠标操作
在制作视频教程时,将键盘和鼠标的操作在屏幕上显示出来,会帮助观众更容易地理解。 推荐Mac上两款开源的小软件。 1. KeyCastr 这款工具从2009年至今一直在更新中。 https://github.com/keycastr/keycastr 安装的话,可以从Github上下载最…...
ISO26262-(Timing Monitoring)在多核MCU的TPU上功能安全ASILB与ASILD有什么区别
在多核微控制器(MCU)的时间保护方面,针对功能安全ASIL B与ASILD等级的设计和实施存在显著差异,这些差异主要体现在系统对时间关键性操作的保障程度、故障检测能力、以及系统响应的严格性上。 ASIL B 级别: 时间关键性:在ASIL B等级,系统设计注重于识别并处理大部分可能…...
图像处理插件:让小程序焕发视觉新生的秘密武器
在小程序开发中,图像处理是一个重要的环节,它涉及到图片的加载、显示、裁剪、压缩等多个方面。为了简化这一复杂过程,开发者通常会使用图像处理插件。这些插件不仅提供了丰富的图像处理功能,还封装了底层的图像操作逻辑࿰…...

项目代码第2讲:从0实现LoginController.cs,UsersController.cs、User相关的后端接口对应的前端界面
一、User 1、使用数据注解设置主键和外键 设置主键:在User类的U_uid属性上使用[Key]注解。 设置外键:在Order类中,创建一个表示外键的属性(例如UserU_uid),并使用[ForeignKey]注解指定它引用User类的哪个…...
【linux 查看网卡设备信息命令记录】
查看设备信息命令 查看网卡芯片相关platform类型网卡(gmac网卡为例)PCI网卡(rtl8125为例) 查看网卡芯片相关 platform类型网卡(gmac网卡为例) gmac 属于CPU资源的一部分,属于平台设备。下面以FT2004 的CPU为例,自带GMAC0和GMAC1。 1、通过平台设备查看…...

springboot事务手动回滚报错
捕捉异常之后手动标记回滚事务 TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); 没有嵌套事务,还是报Transaction rolled back because it has been marked as rollback-only异常错误 查看错误堆栈,service调用的方法外层还套…...
SQL 算术运算符:加法、减法、乘法、除法和取模的用法
什么是存储过程? 存储过程是一段预先编写好的 SQL 代码,可以保存在数据库中以供反复使用。它允许将一系列 SQL 语句组合成一个逻辑单元,并为其分配一个名称,以便在需要时调用执行。存储过程可以接受参数,使其更加灵活…...

C#是Unity 3D的默认语言,Unity 3D是一种领先的游戏引擎
C#或C-Sharp是一种比C更现代和灵活的编程语言,它也在游戏开发中广受欢迎。C#是Unity 3D的默认语言,Unity 3D是一种领先的游戏引擎,它为各种游戏提供动力,例如《口袋妖怪围棋》、《超级马里奥跑》和《神庙跑》。 Unity 3D也在虚拟…...

[创业之路-173]:《BLM战略规划》- 战略洞察 (战略能力中最最核心的能力) - 市场洞察 -3- 看竞争对手-要比你的竞争对手跟了解他们自己
目录 一、五看三定 二、看竞争 2.1 概述 1、分析竞争对手 2、进行价值链分析 3、紧盯标杆对手 4、关注新进入者和替代产品 5、制定竞争策略 2.2 看竞争的主要内容:背景信息、战略、价值定位、价值链、价值交付、组织架构、财务绩效 1、背景信息 2、战略 …...

Spark实训
实训目的: 介绍本实训的基本内容,描述知识目标、,以及本实训的预期效果等。 1、知识目标 (1)了解spark概念、基础知识、spark处理的全周期,了解spark技术是新时代对人才的新要求。 (2)掌握Linux、hadoop、spark、hive集群环境的搭建、HDFS分布文件系统的基础知识与应用…...

使用docker在3台服务器上搭建基于redis 6.x的一主两从三台均是哨兵模式
一、环境及版本说明 如果服务器已经安装了docker,则忽略此步骤,如果没有安装,则可以按照一下方式安装: 1. 在线安装(有互联网环境): 请看我这篇文章 传送阵>> 点我查看 2. 离线安装(内网环境):请看我这篇文章 传送阵>> 点我查看 说明:假设每台服务器已…...

观成科技:隐蔽隧道工具Ligolo-ng加密流量分析
1.工具介绍 Ligolo-ng是一款由go编写的高效隧道工具,该工具基于TUN接口实现其功能,利用反向TCP/TLS连接建立一条隐蔽的通信信道,支持使用Let’s Encrypt自动生成证书。Ligolo-ng的通信隐蔽性体现在其支持多种连接方式,适应复杂网…...
[2025CVPR]DeepVideo-R1:基于难度感知回归GRPO的视频强化微调框架详解
突破视频大语言模型推理瓶颈,在多个视频基准上实现SOTA性能 一、核心问题与创新亮点 1.1 GRPO在视频任务中的两大挑战 安全措施依赖问题 GRPO使用min和clip函数限制策略更新幅度,导致: 梯度抑制:当新旧策略差异过大时梯度消失收敛困难:策略无法充分优化# 传统GRPO的梯…...

C++初阶-list的底层
目录 1.std::list实现的所有代码 2.list的简单介绍 2.1实现list的类 2.2_list_iterator的实现 2.2.1_list_iterator实现的原因和好处 2.2.2_list_iterator实现 2.3_list_node的实现 2.3.1. 避免递归的模板依赖 2.3.2. 内存布局一致性 2.3.3. 类型安全的替代方案 2.3.…...

微信小程序之bind和catch
这两个呢,都是绑定事件用的,具体使用有些小区别。 官方文档: 事件冒泡处理不同 bind:绑定的事件会向上冒泡,即触发当前组件的事件后,还会继续触发父组件的相同事件。例如,有一个子视图绑定了b…...
基于Uniapp开发HarmonyOS 5.0旅游应用技术实践
一、技术选型背景 1.跨平台优势 Uniapp采用Vue.js框架,支持"一次开发,多端部署",可同步生成HarmonyOS、iOS、Android等多平台应用。 2.鸿蒙特性融合 HarmonyOS 5.0的分布式能力与原子化服务,为旅游应用带来…...

高等数学(下)题型笔记(八)空间解析几何与向量代数
目录 0 前言 1 向量的点乘 1.1 基本公式 1.2 例题 2 向量的叉乘 2.1 基础知识 2.2 例题 3 空间平面方程 3.1 基础知识 3.2 例题 4 空间直线方程 4.1 基础知识 4.2 例题 5 旋转曲面及其方程 5.1 基础知识 5.2 例题 6 空间曲面的法线与切平面 6.1 基础知识 6.2…...
【android bluetooth 框架分析 04】【bt-framework 层详解 1】【BluetoothProperties介绍】
1. BluetoothProperties介绍 libsysprop/srcs/android/sysprop/BluetoothProperties.sysprop BluetoothProperties.sysprop 是 Android AOSP 中的一种 系统属性定义文件(System Property Definition File),用于声明和管理 Bluetooth 模块相…...

【Java_EE】Spring MVC
目录 Spring Web MVC 编辑注解 RestController RequestMapping RequestParam RequestParam RequestBody PathVariable RequestPart 参数传递 注意事项 编辑参数重命名 RequestParam 编辑编辑传递集合 RequestParam 传递JSON数据 编辑RequestBody …...
Device Mapper 机制
Device Mapper 机制详解 Device Mapper(简称 DM)是 Linux 内核中的一套通用块设备映射框架,为 LVM、加密磁盘、RAID 等提供底层支持。本文将详细介绍 Device Mapper 的原理、实现、内核配置、常用工具、操作测试流程,并配以详细的…...