当前位置: 首页 > news >正文

python容器

1.什么是数据容器:

一种可以存储多个元素Python数据类型

2.Python有哪些数据容器

列表list
元祖tuple
字符串str
集合set
字典dict

一:列表 list

  1. 可以容纳多个元素(上限2**63-1)
  2. 可以容纳不同类型的元素
  3. 数据是有序存储的(索引)
  4. 允许重复数据存在
  5. 可以修改(对内部数据进行增加或删除)

1.列表的定义

在这里插入图片描述

列表一次可以存储多个数据,可以为不同的数据,支持嵌套

# 定义一个列表list
my_list = ['李四','二大爷']
print(my_list)
print(type(my_list))

# 定义一个嵌套列表
my_list2 = [[1,3,4],[3,2]]
print(my_list2)
print(type(my_list2))

2. 列表的下标索引

  1. 列表的下标索引是什么?
    列表的每一个元素,都有编号称之为下标索引
    从前向后的方向,编号从0开始递增
    从后向前的方向,编号从-1开始递减
  2. 如何通过下标索引取出对应位置的元素呢? 列表[下标],即可取出
  3. 下标索引的注意事项: • 要注意下标索引的取值范围,超出范围无法取出元素,并且会报错

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

# 通过下标索引取出对应位置的数据  从前向后
my_list3 = ["timi","rose","lisi"]
print(my_list3[2])
# 通过下标索引取出对应位置的数据  从后向前
print(my_list3[-1])
# 取出嵌套列表的元素
my_list4 = [[1,2,3],[2,3,4]]
print(my_list4[0][-1])

3. 列表的常用方法

  1. 查找元素下标 index 只返回最先匹配的元素下标,找不到报错

在这里插入图片描述

# 通过下标索引取出对应位置的数据  从前向后
my_list3 = ["timi","rose","lisi"]
print(my_list3[2])
# 通过下标索引取出对应位置的数据  从后向前
print(my_list3[-1])
# 取出嵌套列表的元素
my_list4 = [[1,2,3],[2,3,4]]
print(my_list4[0][-1])

mylist = ["python","java","go","java"]
# 1.查找某元素的下标---返回最开始元素的下标
index =  mylist.index("java");
# 2.修改特定下标索引值
mylist[0] = "不错"
print(f"修改之后为:{mylist}")
# 3.在指定下标位置插入新元素
mylist.insert(1,"插队")
print(f"插入之后为:{mylist}")
# 4.在列表尾部追加“单个元素”
mylist.append("找工作")
#5.在列表尾部追加“一些列元素”
mylist.extend([1,2,3])
print(f"追加后元素为{mylist}")
# 6.删除指定下标索引的元素
# 方式一:
del mylist[1]
# 方式二
mylist.pop(1)
# 7.删除某元素在列表中匹配的第一个匹配项
mylist.remove("java")
# 8.清空列表
mylist.clear()
# 9.统计列表中某些元素的数量
count = mylist.count("找工作")
# 10.统计列表中全部元素数量
len(mylist)

4. 列表的遍历

a. while循环

在这里插入图片描述

b.for in 循环

在这里插入图片描述

二:元祖 tuple

  1. 元祖一旦定义就不能修改

1.元祖的定义

在这里插入图片描述

2.元祖的操作

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

3.元祖的特点

可以容纳多个不同数据
数据是有序存储
允许重复数据存在
不可以修改
支持for循环

与列表和元组的 不同在于:字符串容器可以容纳的类型是单一的,只能是字符串类型。 不同于列表,相同于元组的在于:字符串不可修改

在这里插入图片描述

在这里插入图片描述

2. 字符串的操作

在这里插入图片描述

注意:strip(字符串)是按照单个字符进行匹配在移除。

在这里插入图片描述

3. 字符串的遍历

在这里插入图片描述

数据容器切片

集合 set

字典 dict

数据容器的通用操作

相关文章:

  • xilinx FPGA FX2 usb通信模块之上位机发送的数据格式
  • 阿里云对象存储OSS存储照片
  • AES、RSA、DH加密解密
  • 高效的操作符使用剖析
  • CVE-2017-12615 Tomcat任意文件上传漏洞详解
  • 10.2国庆作业(PWM实验)
  • Java开发环境基础配置
  • 基于springboot和ftp实现的网盘文件系统
  • Maven创建聚合项目
  • ASP.NET MVC--视图
  • java基础巩固-宇宙第一AiYWM:为了维持生计,虽然咱没机会经历双11这种技术阅兵场,但是看看人家写的阅兵场日记,先xiao习xiao习一下嘛~整起
  • Mybatis配置详解 | 深入理解 『带上CSDN一起玩转国庆』
  • 断断续续学习算法的5年
  • Qt 精确定时器
  • mysql中int(11)与int(1)的区别与联系
  • canvas绘制圆角头像
  • conda常用的命令
  • docker python 配置
  • Effective Java 笔记(一)
  • js如何打印object对象
  • PHP面试之三:MySQL数据库
  • PV统计优化设计
  • Python进阶细节
  • 初识 webpack
  • 简析gRPC client 连接管理
  • 讲清楚之javascript作用域
  • 理解 C# 泛型接口中的协变与逆变(抗变)
  • 最近的计划
  • 深度学习之轻量级神经网络在TWS蓝牙音频处理器上的部署
  • ​二进制运算符:(与运算)、|(或运算)、~(取反运算)、^(异或运算)、位移运算符​
  • ###C语言程序设计-----C语言学习(6)#
  • #HarmonyOS:基础语法
  • (1) caustics\
  • (MATLAB)第五章-矩阵运算
  • (接口自动化)Python3操作MySQL数据库
  • (原創) 如何使用ISO C++讀寫BMP圖檔? (C/C++) (Image Processing)
  • .babyk勒索病毒解析:恶意更新如何威胁您的数据安全
  • .NET 8.0 中有哪些新的变化?
  • .net core 3.0 linux,.NET Core 3.0 的新增功能
  • .NET DataGridView数据绑定说明
  • .net framework4与其client profile版本的区别
  • .NET 中 GetProcess 相关方法的性能
  • .NetCore实践篇:分布式监控Zipkin持久化之殇
  • /etc/apt/sources.list 和 /etc/apt/sources.list.d
  • /var/lib/dpkg/lock 锁定问题
  • @Autowired多个相同类型bean装配问题
  • [ C++ ] STL---string类的模拟实现
  • [ 攻防演练演示篇 ] 利用通达OA 文件上传漏洞上传webshell获取主机权限
  • [4.9福建四校联考]
  • [AIGC] 如何建立和优化你的工作流?
  • [BZOJ]4817: [Sdoi2017]树点涂色
  • [C#][opencvsharp]opencvsharp sift和surf特征点匹配
  • [Codeforces] probabilities (R1600) Part.1
  • [EFI]Dell Latitude-7400电脑 Hackintosh 黑苹果efi引导文件
  • [emacs] CUA的矩形块操作很给力啊