Python基础——数据容器(超详细版!)

news2024/9/20 18:46:35

目录

 

数据容器简介:

list(列表)

列表特点:

列表定义:

列表的下标索引:

列表的常用方法:

列表的遍历:

tuple(元组)

元组嵌套list:

string(字符串) 

字符串常用方法:

序列:

集合:

集合特点:

集合常用方法:


 前言:

  本篇文章主要讲解Python数据容器的基础,适合刚开始学习python的朋友,也可作为一篇对数据容器相关知识的复习,建议读者依据目录,结合自身需求进行学习。新手小白案例练习部分一定要自己动手敲一遍再看答案!

数据容器简介:

  在Python中,数据容器是用于存储和组织数据的结构,主要分为:列表(list),元组(tuple),字符串(string) ,集合(set),字典(dict)。

  下面对各个数据容器逐一介绍。

一、list(列表)

列表特点:

1、列表存储的元素类型不受限制,甚至可以是列表类型

2、列表有序存储(有下标索引)

3、允许重复数据存在

4、可以修改

列表定义:

使用[ ],如下定义方式。

1、定义有元素的列表
[元素1,元素2,元素3,-------] 
变量名称=   [元素1,元素2,元素3,-------]

2、定义空列表
变量名称=[]    
变量名称=list()

代码演示:

my_list=[123,"你好",[1,2,3]]
print(my_list)
print(type(my_list)) 

 运行结果:

列表的下标索引:

  和C语言的数组下标索引相同,列表下标索引从0开始(从左向右),在Python中,有反向索引,即从最后一个元素-1开始(从右向左),如下代码取列表中的元素。(注意:索引不要超出范围

my_list=[123,"你好",[1,2,3]]
print(my_list)
print(type(my_list))
print(my_list[-1]) # 输出结果为[1,2,3]
print(my_list[2][0]) # 输出结果为1
列表的常用方法:

  首先简单介绍一个概念,方法,在Python中,如果将函数定义为class类的成员,那么函数会称之为方法。

  代码具体演示列表的常用方法:

my_list=[123,"你好",[1,2,3]]

# 查找指定元素在列表中的索引
index=my_list.index("你好")
print(index) # 输出结果为1

# 修改特定下标元素
my_list[0]=456
print(my_list) # 输出结果为[456, '你好', [1, 2, 3]]

# 在指定索引处插入
my_list.insert(1,"hello")
print(my_list) # 输出结果为 [456, 'hello', '你好', [1, 2, 3]]

#单个元素尾部追加
my_list.append('666')
print(my_list) # 输出结果为[456, 'hello', '你好', [1, 2, 3], '666']

# 多个元素追加,将另一个列表全部内容追加到该列表尾部
my_list1=[1,2,3]
my_list2=[4,5,6]
my_list1.extend(my_list2)
print(my_list1)  # 输出结果为[1, 2, 3, 4, 5, 6]

# 删除

# 1、直接将列表中该元素删除
my_list=[123,"你好",[1,2,3],"你好"]
del my_list[0] # 注意写法
print(my_list) # 输出结果为['你好', [1, 2, 3]]

# 2、将该元素从列表中取出(返回该元素值)并将其从列表中删除
my_list=[123,"你好",[1,2,3],"你好"]
element =my_list.pop(0)
print(element) # 输出结果为123
print(my_list) # 输出结果为['你好', [1, 2, 3]]

# 3、找到第一个符合删除信息的元素删除
my_list=[123,"你好",[1,2,3],"你好"]
my_list.remove("你好")
print(my_list) # 输出结果为[123, [1, 2, 3], '你好']

# 清空列表
my_list.clear()

# 统计列表中某个元素的数量
my_list=[123,"你好",[1,2,3],"你好"]
count= my_list.count("你好")
print(count)  # 输出结果为2

# 统计列表中所有元素的数量(列表长度)
my_list=[123,"你好",[1,2,3],"你好"]
count=len(my_list)
print(count)  # 输出结果为4
列表案例练习:

  定义一个学生年龄列表students_age=[21,25,21,23,22,20,],对其进行以下操作。

代码:

students_age=[21,25,21,23,22,20,]
#追加单个元素
students_age.append(31)
print(students_age)
#追加列表
new_studens_age=[29,33,30]
students_age.extend(new_studens_age)
print(students_age)
# 取第一个元素
print(students_age[0])
# 取最后一个元素
print(students_age[-1])
# 查找元素31的索引下标
index=students_age.index(31)
print(index)

运行结果:

列表的遍历:

1、while循环遍历

my_list3=[1,2,4,2,4,5]
i=0
while i<len(my_list3):
    element = my_list3[i]
    print(element)
    i+=1

 2、for循环遍历

my_list3=[1,

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

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

相关文章

Starrocks on hive如何判断Hive表存在数据倾斜

存在数据倾斜时MaxTime和MinTime相差过大&#xff1a; 不存在数据倾斜时MaxTime和MinTime相差不大&#xff1a;

基于词级ngram的词袋模型对twitter数据进行情感分析

按照阿光的项目做出了学习笔记&#xff0c;pytorch深度学习实战项目100例 基于词级ngram的词袋模型对twitter数据进行情感分析 什么是 N 符&#xff1f; N 格是指给定文本或语音样本中 n 个项目的连续序列。这些项目可以是音素、音节、字母、单词或碱基对&#xff0c;具体取…

算法日记day 12(栈实现队列|队列实现栈|有效的括号)

队列是先进先出的&#xff0c;就像排队一样&#xff0c;谁在前谁先获得服务 栈是一种先进后出的数据结构 一、用栈实现队列 题目&#xff1a; 请你仅使用两个栈实现先入先出队列。队列应当支持一般队列支持的所有操作&#xff08;push、pop、peek、empty&#xff09;&#xf…

GuLi商城-商品服务-API-品牌管理-品牌分类关联与级联更新

先配置mybatis分页&#xff1a; 品牌管理增加模糊查询&#xff1a; 品牌管理关联分类&#xff1a; 一个品牌可以有多个分类 一个分类也可以有多个品牌 多对多的关系&#xff0c;用中间表 涉及的类&#xff1a; 方法都比较简单&#xff0c;就不贴代码了

可解释医学视觉问答的反事实因果干预| 文献速递-基于深度学习的多模态数据分析与生存分析

Title 题目 Counterfactual Causal-Effect Intervention for Interpretable Medical Visual Question Answering 可解释医学视觉问答的反事实因果干预 01 文献速递介绍 深度学习的进步在计算机视觉、自然语言处理和信息检索领域成功地取得了最先进的&#xff08;SOTA&…

SpringBoot连接PostgreSQL+MybatisPlus入门案例

项目结构 一、Java代码 pom.xml <?xml version"1.0" encoding"UTF-8"?> <project xmlns"http://maven.apache.org/POM/4.0.0"xmlns:xsi"http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation"http://mave…

基于秒杀系统的企业开发设计思考

一、需求分析 需求描述为实现某商品秒杀活动&#xff0c;结果为商品库存为0&#xff0c;订单数量和商品原有库存数量相等&#xff0c;即保障系统数据一致性同时&#xff0c;保障系统稳定性 二、流程设计 三、数据库设计 本次示例仅涉及商品表、订单表&#xff0c;这里分享数…

2024可信数据库发展大会:TDengine CEO 陶建辉谈“做难而正确的事情”

在当前数字经济快速发展的背景下&#xff0c;可信数据库技术日益成为各行业信息化建设的关键支撑点。金融、电信、能源和政务等领域对数据处理和管理的需求不断增加&#xff0c;推动了数据库技术的创新与进步。与此同时&#xff0c;人工智能与数据库的深度融合、搜索与分析型数…

《Towards Black-Box Membership Inference Attack for Diffusion Models》论文笔记

《Towards Black-Box Membership Inference Attack for Diffusion Models》 Abstract 识别艺术品是否用于训练扩散模型的挑战&#xff0c;重点是人工智能生成的艺术品中的成员推断攻击——copyright protection不需要访问内部模型组件的新型黑盒攻击方法展示了在评估 DALL-E …

AI算法18-最小角回归算法Least Angle Regression | LARS

​​​ 最小角回归算法简介 最小角回归&#xff08;Least Angle Regression, LAR&#xff09;是一种用于回归分析的统计方法&#xff0c;它在某些方面类似于最小二乘回归&#xff0c;但提供了一些额外的优点。最小角回归由Bradley Efron等人提出&#xff0c;主要用于处理具有…

【鸿蒙学习笔记】舜和酒店项目开发

这里写目录标题 前期准备1. 环境准备2. 开发工具准备 创建项目1. 使用 deveco-studio 创建 ShunHeHotel 项目2. 把ShunHeHotel 项目使用git进行版本控制3. 提交第1个commit&#xff0c;Alt0 → 输入commit message → 提交4. 查看已经提交的第一个提交5. gitcode 创建同名远程项…

数据库系统概论:关系型数据库系统

引言 如今最为重要的数据模型便是关系模型。关系数据库就是支持关系模型的数据库系统&#xff08;Relational Database Management System, RDBMS&#xff09; 关系模型可以简单理解为二维表格模型&#xff0c;一个关系型数据库就是由二维表及其之间的关系组成的一个数据组织。…

1、常用模块讲解(simulink仿真)

1、常用模块讲解&#xff08;simulink仿真&#xff09; Simulate有很多库 进入simulink 命令行simulink再回车 &#xff0c;或点击菜单栏 Export model to 可以将高版本保存为低版本 1&#xff0c;在MATLAB主界面&#xff0c;新建编辑器&#xff0c; a1:100; bsin(a*0.2); pl…

argparse部分用法

文章目录 一、一个简单的示例1.导入模块2.创建解析器3.添加参数4.解析参数5.使用解析的参数6.完整程序7.运行 二、更多用法1.ArgumentParser对象创建时的参数2.add_argument()的参数&#xff08;1&#xff09;name&#xff1a;名称1&#xff09;位置参数2&#xff09;可选参数3…

priority_queue的使用与模拟实现

目录 priority_queue的使用 priority_queue的介绍 priority_queue的定义方式 priority_queue成员函数的介绍 priority_queue的模拟实现 1&#xff1a;堆的向上调整算法 2&#xff1a;堆的向下调整算法 两种算法的比较与各自最佳使用 priority_queue的模拟实现 priorit…

使用VMware虚拟机安装kali 2019

一、下载kali linux镜像 下载 kali Linux的ISO镜像文件 网盘链接&#xff1a;https://pan.baidu.com/s/1GRtJxGBlqFfmU24HLEy3-g?pwd57u3 提取码&#xff1a;57u3 二、安装并配置 Kali Linux 新建虚拟机 在虚拟机创建向导中&#xff0c;选择经典配置 选择下载好的kali镜…

细说MCU用定时器控制ADC采样频率的实现方法并通过Simulink查看串口输出波形

目录 一、硬件工程 二、建立Simulink模型 1.安装MATLAB和Simulink 2.建立Simulink模型 三、代码修改 1.修改回调函数 2.产看结果 3.完整的main.c 本文作者的文章 细说MCU用定时器控制ADC采样频率的实现方法-CSDN博客 https://wenchm.blog.csdn.net/article/details/…

WSL-Ubuntu20.04环境使用YOLOv8 TensorRT推理加速

在阅读本章内容之前,需要把部署环境以及训练环境都安装好。 1.TensorRTX下载 这里使用Wang-xinyu大佬维护的TensorRTX库来对YOLOv8进行推理加速的演示,顺便也验证一下前面环境配置的成果。 github地址:GitHub - wang-xinyu/tensorrtx,下载后放到wsl的路径下,我这里放在/h…

JavaScript日期对象倒计时案例

思路&#xff1a;1.先求出当前时间的总毫秒数 2.再求出所需要求的时间的总毫秒数 3.用所求时间的减去当前时间的可得到倒计时剩余时间 4.最后将所求的倒计时剩余时间转换为天&#xff0c;小时&#xff0c;分钟&#xff0c;秒即可 <!DOCTYPE html> <html lang"en…

Java并发04之线程同步机制

文章目录 1 线程安全1.1 线程安全的变量1.2 Spring Bean1.3 如果保证线程安全 2 synchronized关键字2.1 Java对象头2.1.1 对象组成部分2.1.2 锁类型2.1.3 锁对象 2.2 synchronized底层实现2.2.1 无锁状态2.2.2 偏向锁状态2.2.3 轻量级锁状态2.2.4 重量级锁2.2.5 锁类型总结2.2.…