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

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Spring框架-IoC的使用(基于XML和注解两种方式)

一、Spring IoC使用-基于XML 1 IoC使用-基于XML 使用SpringIoC组件创建并管理对象 1.1 创建实体类 package com.feng.ioc.bean;import java.util.Date;/*** program: spring-ioc-demo1* description: 学生实体类* author: FF* create: 2024-12-04 18:53**/ public class Stud…

AndroidStudio-常见界面控件

一、Button package com.example.review01import androidx.appcompat.app.AppCompatActivity import android.os.Bundle import android.widget.Button import android.widget.TextViewclass Review01Activity : AppCompatActivity() {override fun onCreate(savedInstanceStat…

汽车IVI中控开发入门及进阶(三十六):QML调用蓝牙sdk的架构

Qt/QML本身在做GUI界面工程时,除了各种界面上的按钮、图片、工具条等元素之外,最方便的就是可以通过C++实现界面各种复杂逻辑,而实现上不可避免就需要一些外部库的支持,不管是静态库.a还是动态库.so,比如蓝牙模块。 而QML/C++启动一个蓝牙协议栈SDK作为一个进程,然后启动…

即时通信系统项目总览

聊天室服务端项目总体介绍 本项目是一个全栈的即时通信系统, 前端使用QT实现聊天客户端, 后端采⽤微服务框架设计, 由网关子服务统一接收客户端的请求, 再分发到不同的子服务上处理并将结果返回给网关, 网关再将响应转发给客户端 拆分的微服务包含: 网关服务器&…

TDesign:Radio 单选框

Radio 单选框文档地址 view TDRadioGroup(onRadioGroupChange: (String? selectedId){controller.onTapSelectId(selectedId!);},contentDirection: TDContentDirection.left,selectId: 1,child: <Widget>[TDRadio(id: 1,selectColor:const Color(0xffFF770F),showDivi…

【已解决】windows下安装Git

文章目录 1. 下载Git2. 安装3. 测试安装是否成功 1. 下载Git https://git-scm.com/downloads/win 进入到官网后如下如图&#xff0c;并选择自己需要的版本&#xff0c;点击即可下载 2. 安装 2.1 下载完成后双击打开&#xff0c;点击Next 2.2 选择安装路径 2.3 选择必要组件…

策略模式实战 - 鸭展

该示例出自著名的《HeadFirst》系列的《HeadFirst设计模式》图书的第一个设计模式。用一个鸭子展览的小应用&#xff0c;一步步揭示了如何引入和使用策略模式将示例改造的完美一些。 文章目录 红头鸭与绿头鸭橡皮鸭和诱饵鸭用接口代替继承组合关系与策略模式 红头鸭与绿头鸭 当…

Leetcode—367. 有效的完全平方数【简单】

2024每日刷题&#xff08;208&#xff09; Leetcode—367. 有效的完全平方数 C实现代码 class Solution { public:bool isPerfectSquare(int num) {for(long long i 1; i < num / 2 1; i) {if(i * i num) {return true;}}return false;} };运行结果 二分法实现代码 cl…

【大语言模型】LangChain LCEL 表达式语言

【大语言模型】LangChain LCEL 表达式语言 一、简介二、LCEL的优势三、LCEL 的基本使用1、Runnable 对象 四、实战实例 一、简介 LangChain LCEL 的全称为 LangChain Expression Language 即可直译为 LangChain 表达式。 为了构造更复杂的 LLM 应用并且更为简便快捷的构造 LLM…

【深入探索 C++ STL 双端队列 】deque —— 数据时空的双端虫洞,扭曲常规操作的效率边界

STL系列专栏&#xff1a; C STL系列__Zwy的博客-CSDN博客https://blog.csdn.net/bite_zwy/category_12838593.html?spm1001.2014.3001.5482学习C STL的三个境界&#xff0c;会用&#xff0c;明理&#xff0c;能扩展&#xff0c;STL中的所有容器都遵循这个规律&#xff0c;下面…

AcWing 717. 简单斐波那契

文章目录 前言代码思路 前言 今天练习了半个小时的打字&#xff0c;还有点想继续练习&#xff0c;但是感觉还是不练了比较好。 简单题可能快要写完了&#xff0c;自己因为要做个手术回家几天&#xff0c;不想带电脑回去&#xff0c;好几天不能练习打字&#xff0c;要不今天再…

FPGA系列,文章目录

前言 FPGA&#xff08;Field-Programmable Gate Array&#xff0c;现场可编程门阵列&#xff09;是一种集成电路&#xff0c;其内部结构可以通过软件重新配置来实现不同的逻辑功能。与传统的ASIC&#xff08;Application-Specific Integrated Circuit&#xff0c;专用集成电路…

【Linux】软硬连接 | 静动态库

&#x1fa90;&#x1fa90;&#x1fa90;欢迎来到程序员餐厅&#x1f4ab;&#x1f4ab;&#x1f4ab; 主厨&#xff1a;邪王真眼 主厨的主页&#xff1a;Chef‘s blog 所属专栏&#xff1a;青果大战linux 总有光环在陨落&#xff0c;总有新星在闪烁 你说得对&#xff0c…

消防物证管理系统|DW-S404实现消防物证智能化管理

一、系统概述 智慧消防物证管理系统DW-S404系统旨在借助现代信息技术&#xff0c;达成消防物证管理的高效化、安全化及智能化管理目标。该系统运用物联网、大数据、云计算等先进技术&#xff0c;实现对消防物证从产生到销毁的全生命周期跟踪与监控&#xff0c;从而增强物证管理…

Java的封装、继承、多态

书接上文&#xff0c;我们聊完了Java的类和对象&#xff0c;有没有唤起你脑海的一些记忆呢&#xff0c;我们有了类和对象的基础之后&#xff0c;我们就可以衍生出来封装继承和多态。 封装 我理解一个东西&#xff0c;我一般会先想这个是什么&#xff0c;再是怎么用&#xff0…

【大数据技术基础 | 实验十四】Kafka实验:订阅推送示例

文章目录 一、实验目的二、实验要求三、实验原理&#xff08;一&#xff09;Kafka简介&#xff08;二&#xff09;Kafka使用场景 四、实验环境五、实验内容和步骤&#xff08;一&#xff09;配置各服务器之间的免密登录&#xff08;二&#xff09;安装ZooKeeper集群&#xff08…

操作系统Lesson7 - 线程编程模型和进程间通信概述

文章目录 进程和线程的区别线程非安全函数时序问题进程间通信竞态条件 进程和线程的区别 一句话&#xff1a;进程资源独立&#xff0c;线程资源共享。 当系统内核不支持线程时&#xff0c;我们只能用用户空间来描述线程&#xff1b;而如果内核支持线程&#xff0c;我们可以在创…

距离与AoA辅助的三维测距算法,适用于自适应基站数量的情况。订阅专栏后可直接查看完整源代码

本MATLAB 代码实现了一个基于距离与到达角(AoA)的三维测距系统,主要用于在动态环境中估计目标物体的位置。提供本算法与仅侧角(AoA)的定位误差对比 文章目录 代码运行结果源代码代码功能概述主要步骤分析初始化部分AOA定位绘图部分输出部分代码的应用和意义总结代码运行结…

dd破坏asm磁盘头恢复---惜分飞

有朋友对asm disk的磁盘头dd了2048byte的数据 通过分析,gi软件版本,确认是11.2.0.4 Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production With the Real Application Clusters and Automatic Storage Management options. ORACLE_HOME /u01/app/…

网络测速工具

1. SPEEDTEST https://www.speedtest.net/ 2. 测速网 测速网 - 专业测网速, 网速测试, 宽带提速, 游戏测速, 直播测速, 5G测速, 物联网监测,Wi-Fi 7,Wi-Fi 6,FTTR,全屋Wi-Fi - SpeedTest.cn 3. 字节比特换算 bps&#xff08;bits per second&#xff09; 字节和比特的换算…