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

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

WiFi受限不再愁,电脑无网络快速修复指南

有时在试图连接WiFi时,会发现网络连接受限,或无法正常访问互联网。这种情况不仅影响了工作效率,还可能错过重要的信息。那么,究竟是什么原因导致了电脑WiFi连接受限呢?又该如何解决这一问题呢?小A今天就来教…

【技巧】Mac上如何显示键盘和鼠标操作

在制作视频教程时,将键盘和鼠标的操作在屏幕上显示出来,会帮助观众更容易地理解。 推荐Mac上两款开源的小软件。 1. KeyCastr 这款工具从2009年至今一直在更新中。 https://github.com/keycastr/keycastr 安装的话,可以从Github上下载最…

c++ map对其值排序

无法直接排序,转换成vector<std::pair<string,int>> #include <iostream> #include <map> #include <vector> #include <algorithm>// 用于排序的比较函数 bool compareByValue(const std::pair<std::string, int>& a, const …

调度器、闲逛进程

调度器、闲逛进程 一、调度器/调度程序二、闲逛进程 一、调度器/调度程序 ②、③由调度程序引起&#xff0c;调度程序决定&#xff1a; 让谁运行&#xff1f;-- 调度算法 运行多长时间&#xff1f;-- 时间片大小 调度时机 – 什么事件会触发“调度程序”&#xff1f; ∙ \bull…

第七节(1)、T型加减速转动【51单片机-TB6600驱动器-步进电机教程】

摘要&#xff1a;本节介绍步进电机T型加减速的控制方法&#xff0c;分2个小节&#xff0c;本小节主要内容为该控制方法的推导与计算&#xff0c;第二节对T型加减速进行了简化计算 一.加速阶段计算 1.1 计算时间与步数关系 根据位移公式可得&#xff1a; a n g l e 0 n ∗ s…

利用 360 安全卫士极速版关闭电脑开机自启动软件教程

在使用电脑的过程中&#xff0c;过多的开机自启动软件会严重拖慢电脑的开机速度&#xff0c;影响我们的使用体验。本教程中简鹿办公将详细介绍如何使用 360 安全卫士极速版关闭电脑开机自启动软件&#xff0c;让您的电脑开机更加迅速流畅。 一、打开 360 安全卫士极速版 在电…

车联网安全学习之TBOX

Telematics BOX&#xff0c;简称 T-BOX&#xff0c;也称远程信息处理控制单元&#xff08;Telematics Control Unit, TCU&#xff09;&#xff0c;集成GPS、外部通信接口、电子处理单元、微控制器、移动通信单元和存储器等功能模块。 TBOX 提供的功能有网络接入、OTA、远程控制…

神经网络入门实战:(六)PyTorch 中的实用工具 SummaryWriter 和 TensorBoard 的说明

(一) SummaryWriter 这里先讲解 SummaryWriter &#xff0c;TensorBoard 会在第二大点进行说明。 SummaryWriter 是 PyTorch 中的一个非常实用的工具&#xff0c;它主要用于将深度学习模型训练过程中的各种日志和统计数据记录下来&#xff0c;并可以与 TensorBoard 配合使用&am…

C#实现一个HttpClient集成通义千问-开发前准备

集成一个在线大模型&#xff08;如通义千问&#xff09;&#xff0c;来开发一个chat对话类型的ai应用&#xff0c;我需要先了解OpenAI的API文档&#xff0c;请求和返回的参数都是以相关接口文档的标准进行的 相关文档 OpenAI API文档 https://platform.openai.com/docs/api-…

开发知识点-uniCloud

开发知识点-uniCloud 服务空间云函数 cloudfunctions云对象importObjectJSON 格式的文档型数据库Collection unicloud数据的指定表集合 DB SchemaJQL 语法参考资料 服务空间 项目关联空间 云函数 cloudfunctions 云对象importObject JSON 格式的文档型数据库 nosql 非关系…

Vue Web开发(二)

1. 项目搭建 1.1. 首页架子搭建 使用Element ui中的Container布局容器&#xff0c;选择倒数第二个样式&#xff0c;将代码复制到Home.vue。 1.1.1.下载less &#xff08;1&#xff09;下载less样式 npm i less   &#xff08;2&#xff09;下载less编辑解析器 npm i less…

GWAS分析先做后学

大家好&#xff0c;我是邓飞。 GWAS分析是生物信息和统计学的交叉学科&#xff0c;上可以学习编程&#xff0c;下可以学习统计。对于Linux系统&#xff0c;R语言&#xff0c;作图&#xff0c;统计学&#xff0c;机器学习等方向&#xff0c;都是一个极好的入门项目。生物信息如…

Go学习:变量

目录 1. 变量的命名 2. 变量的声明 3. 变量声明时注意事项 4. 变量的初始化 5. 简单例子 变量主要用来存储数据信息&#xff0c;变量的值可以通过变量名进行访问。 1. 变量的命名 在Go语言中&#xff0c;变量名的命名规则 与其他编程语言一样&#xff0c;都是由字母、数…

Netty 心跳机制示例 —— 服务端实现

Netty 心跳机制示例 —— 服务端实现 1. 背景 在分布式系统和网络通信中&#xff0c;保持客户端与服务器端的连接活跃是非常重要的。如果长时间没有数据传输&#xff0c;连接可能会超时或被中断。为了解决这个问题&#xff0c;我们可以通过 心跳机制 来保证连接持续有效。 N…

【Linux】 进程池 一主多从 管道通信

目录 1.代码介绍 2.channel 类 3.进程池类编写 4.主函数及其他 5. 源码 1.代码介绍 本文代码采用一主多从式&#xff08;一个主进程&#xff08;master&#xff09;多个子进程&#xff08;worker&#xff09;&#xff09;通过管道进行通信&#xff0c;实现主进程分发任务&…

小红薯最新x-s 算法补环境教程12-06更新(下)

在上一篇文章中已经讲了如何去定位x-s生成的位置&#xff0c;本篇文章就直接开始撸代码吧 如果没看过的话可以看&#xff1a;小红薯最新x-s算法分析12-06&#xff08;x-s 56&#xff09;&#xff08;上&#xff09;-CSDN博客 1、获取加密块代码 首先来到参数生成的位置&…

Nacos源码学习-本地环境搭建

本文主要记录如何在本地搭建Nacos调试环境来进一步学习其源码&#xff0c;如果你也刚好刷到这篇文章&#xff0c;希望对你有所帮助。 1、本地环境准备 Maven: 3.5.4 Java: 1.8 开发工具&#xff1a;idea 版本控制工具: git 2、下载源码 官方仓库地址 &#xff1a;https://git…

视频码率到底是什么?详细说明

视频码率&#xff08;Video Bitrate&#xff09;是指在单位时间内&#xff08;通常是每秒&#xff09;传输或处理的视频数据量&#xff0c;用比特&#xff08;bit&#xff09;表示。它通常用来衡量视频文件的压缩程度和质量&#xff0c;码率越高&#xff0c;视频质量越好&#…

计算机网络复习——概念强化作业

物理层负责网络通信的二进制传输 用于将MAC地址解析为IP地址的协议为RARP。 一个交换机接收到一帧,其目的地址在它的MAC地址表中查不到,交换机应该向除了来的端口外的所有其它端口转发。 关于ICMP协议,下面的论述中正确的是ICMP可传送IP通信过程中出现的错误信息。 在B类网络…

【AI系统】感知量化训练 QAT

感知量化训练 QAT 本文将会介绍感知量化训练&#xff08;QAT&#xff09;流程&#xff0c;这是一种在训练期间模拟量化操作的方法&#xff0c;用于减少将神经网络模型从 FP32 精度量化到 INT8 时的精度损失。QAT 通过在模型中插入伪量化节点&#xff08;FakeQuant&#xff09;…