Python 5个数据容器

列表(list)

特点:可以被修改

列表的定义

定义空列表:

变量名 = []  变量名 = list()

定义变量:

变量名 = [元素1,元素2,元素3,... ]

取出列表元素

列表名 [下标索引]

从前向后,从0开始;从后向前,从-1开始

嵌套列表:

列表的常用操作
列表.append(元素)

向列表追加一元素

列表.extend(容器)

将数据容器的内容依次取出,追加到列表尾部

列表.insert(下标,元素)

在指定下标处,插入指定元素

del 列表[下标]

删除列表指定下标元素

列表.pop(下标)

删除列表指定下标元素;还能把删掉的元素作为返回值得到

列表.remove(元素)

从前向后,删此元素第一个匹配项

列表.clear()

清空列表

统计
列表.count(元素)

统计此元素在列表中出现的次数

len(列表)

统计容器内有多少元素

列表.index(元素)

查找指定元素在列表的下标

列表的遍历

while

for —— 只是将容器里面的内容挨个取出

for ele in [1,2,3,4,5]:

        print(f"列表中的元素有:{ele}")

元组(tuple)

特点:不可被篡改

元组的定义

定义空元组:

变量名 = () 变量名 = tuple()

定义元组变量:

变量名 = (元素1,元素2,元素3,...)

🔺定义单个元素

t1 = ("hello",) //当元组只有一个数据时,这个数据后面要加,

取出元组元素

元组名 [下标索引]

嵌套元组:

my_tuple = ( (1 , 2 , 3 ) , (4 , 5 , 6) )
print(my_tuple[0][1])

my_list[0] = (1 , 2 , 3) 

元组的常用操作
index() 

查找某个数据,存在返回对应的下标

统计
count()

统计某个数据在当前元组出现的次数

len(元组)

统计元组内的元素个数

元组的遍历

while

for

for ele in (1,2,3,4,5):

        print(f"元组的元素有:{ele}")

注意:元组的内容不可修改;但元组内的列表的内容可以修改

t1 = (1, 2, ['itheima', 'itcast'] )

t1[2][1] = 'best' 

>> (1, 2, ['itheima', 'best'] )

字符串(str)

不可修改

取出字符串特定位置的字符

从前向后,下标从0开始

从后向前,下标从-1开始

字符串的常用操作
查找
字符串.index(字符串)

查找特定字符串的下标索引值(返回该字符串在原字符串的起始下标)

替换
字符串.replace(字符串1,字符串2)

将字符串中,字符串1的全部内容替换为字符串2(得到的是一个新字符串,不是修改字符串本身)

分割
字符串.split(分隔符字符串)

按照指定的分隔符字符串,将字符串划分为多个字符串,并存入列表对象中

my_str = "hello python itheima itcast"
new_my_str = my_str.split(" ")
print(new_my_str)

>> ['hello', 'python', 'itheima', 'itcast'] 

去除

去除字符串前后空格和换行符 —— 字符串.strip()

my_str = " hello python itheima itcast "
print(my_str.strip())

去除字符串前后指定字符串 —— 字符串.strip(字符串)

my_str = "12hello python itheima itcast21"
print(my_str.strip("12"))

 按照单个字符串(划分两个小子串,满足任意一个就去掉),1,2都会被移除

统计
字符串.count(字符串)

统计字符串中某字符串的出现次数

len(字符串)

统计字符串的长度

字符串的遍历

while

for

for i in "黑马程序员":

        print(i)

序列的切片

列表、元组、字符串均可视为序列;序列支持切片

语法:序列 [起始下标:结束下标(不含):步长]

步长为1:(一步一个)一个个取;步长为2:(一步两个)跳一个取;步长为N:跳N-1个取;

步长为负数:反向取(起始下标,结束下标也要反向标记)

1.my_tuple = (0,1,2,3,4,5,6)

print(my_tuple[:]) //起始和结束不写表示从头到尾;步长为1可以省略

>>(0,1,2,3,4,5,6)

2.my_str = "01234567"

print(my_str[::2])

>>0246

3.my_str = "01234567"

print(my_str[::-1]) //等同于将序列反转

>>76543210

序列切片的实践

my_str = "万过薪月,员序程马黑来,nohtyP学"
#1.倒序,切片取出
print(my_str[::-1][9:14])
#2.切片取出,再反转
print(my_str[5:10][::-1])
#3.split,分隔;来替换空(是空!);倒序字符串
print(my_str.split(",")[1].replace("来","")[::-1])

集合(set)

集合的定义

特点:无序,不支持下标索引访问,但允许修改;去重;

定义空集合:

变量名 = set()

定义集合变量:

变量名 = {元素1,元素2,元素3,...}

集合常用操作
添加新元素

集合.add(元素)

将指定元素,添加到集合内

移除元素

集合.remove(元素)

从集合中随机取出一个元素

集合.pop()

清空集合

集合.clear()

集合1中求集合2的补集

集合1.difference(集合2) //集合1有而集合2没有;集合1、集合2不变

set1={1,2,3}
set2={1,5,6}
print(set1.difference(set2))

>>{2,3} 

消除两个集合交集

集合1.difference_update(集合2)//集合1内删和集合2相同的元素;集合1被修改;集合2不变

set1={1,2,3}
set2={1,5,6}
set1.difference_update(set2)
print(set1)

 >> {2,3}

2个集合合并为1个集合

集合1.union(集合2)//将集合1和集合2组合成新集合

统计集合元素数量

len(集合)

集合的遍历

集合不支持下标索引,不能用while;得用for

for ele in {1,2,3,4,5}:

        print(ele)

字典(dict)

特点:字典不允许key的重复;新的会把老的覆盖掉

字典的定义

定义空字典:

my_dict = {} my_dict = dict()

定义字典变量:

my_dict = { key : value, key : value , ... , key : value }

字典数据的获取

通过key取对应的value

字典的嵌套

用字典记录学生各科的考试信息

姓名语文数学英语
王力宏776633
周杰伦888655
林俊杰999666
my_dict = {"王力宏" : {"语文" : 77,"数学" : 66,"英语" : 33},"周杰伦" : {"语文" : 88,"数学" : 86,"英语" : 55},"林俊杰" : {"语文" : 99,"数学" : 96,"英语" : 66}
}

看周杰伦的语文信息 —— my_dict["周杰伦"]["语文"]

字典的常用操作
新增和更新
字典[key] = value 

对不存在的key执行这个操作,是新增;对已存在的key执行这个操作,是更新value值

删除元素
字典.pop(key)

返回指定key的value

清空字典
字典.clear()
获取全部key
字典.keys()

得到字典中的全部key

统计字典内元素数量
len(字典) 

len(my_dict)

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

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

相关文章

复习数据库(约束)上篇

目录 约束的分类 分类 注意 主键约束 添加主键约束 1 建表时,添加 1.1创建表:定义列时指定 1.2 创建表:定义列之后独立指定主键: 2 建表后使用alter 关键字添加 删除约束 在主键添加自动增长属性 疑问 1 建表时添加 …

国内短剧源码短剧系统搭建小程序部署H5、APP打造短剧平台

​在当今的互联网时代,短剧作为一种新兴的娱乐形式,受到了越来越多用户的喜爱。为了提供更好的用户体验和满足用户需求,一个好的短剧系统需要具备多元化的功能和优质的界面设计。 本文将介绍国内短剧源码短剧系统搭建小程序部署H5、APP所需的…

Python(数据结构2)

常见数据结构 队列 队列(Queue),它是一种运算受限的线性表,先进先出(FIFO First In First Out) Python标准库中的queue模块提供了多种队列实现,包括普通队列、双端队列、优先队列等。 1 普通队列 queue.Queue 是 Python 标准库 queue 模块中的一个类…

QT 机器视觉 (3. 虚拟相机SDK、测试工具)

本专栏从实际需求场景出发详细还原、分别介绍大型工业化场景、专业实验室场景、自动化生产线场景、各种视觉检测物体场景介绍本专栏应用场景 更适合涉及到视觉相关工作者、包括但不限于一线操作人员、现场实施人员、项目相关维护人员,希望了解2D、3D相机视觉相关操作…

QT打包Macosx应用发布App Store简易流程

1、QC里编译工程,生成Release版的的app文件; 2、运行macdeployqt把需要的文件打包进app文件中; % ~/Qt/5.15.0/clang_64/bin/macdeployqt {编译的app文件所在路径}/Release/xxxx.app 3、使用codesign对app进行签名,如果要发App…

Android平台RTSP转RTMP推送之采集麦克风音频转发

技术背景 RTSP转RTMP推送,好多开发者第一想到的是采用ffmpeg命令行的形式,如果对ffmpeg比较熟,而且产品不要额外的定制和更高阶的要求,未尝不可,如果对产品稳定性、时延、断网重连等有更高的技术诉求,比较…

网络:ARP的具体过程和ARP欺骗

个人主页 : 个人主页 个人专栏 : 《数据结构》 《C语言》《C》《Linux》《网络》 《redis学习笔记》 文章目录 前言ARP具体过程ARP欺骗原理总结 前言 本文仅作为ARP具体过程和ARP欺骗的知识总结 硬件类型 :指定发送和接受ARP包的硬件类型&am…

单链表OJ题(3):合并两个有序链表、链表分割、链表的回文结构

目录 一、合并两个有序链表 二、链表分割 三、链表的回文结构 u解题的总体思路: 合并两个有序链表:首先创建新链表的头节点(哨兵位:本质上是占位子),为了减少一些判断情况,简化操作。然后我们…

整理 【 DBeaver 数据库管理工具 】的一些基础使用

目录 连接设置切换工作空间SQL编辑器(写sql语句)打开方式新建查询(sql编辑器)打开写的 sql 查询(项目浏览器) 备份sql文件查看历史执行语句自动保存sql语句的文件(编辑器)关闭自动生…

Android Studio 依赖仓库地址

在Android Studio进行开发时,会遇到依赖库下载慢或者老项目使用的依赖库找不到的问题,折腾了两天,终于找到解决方法,使用 阿里云云效Maven,地址:仓库服务https://developer.aliyun.com/mvn/guide &#xff…

51单片机教程(五)- LED灯闪烁

1 项目分析 让输入/输出口的P1.0或P1.0~P1.7连接的LED灯闪烁。 2 技术准备 1、C语言知识点 1 运算符 1 算术运算符 #include <stdio.h>int main(){// 算术运算符int a 13;int b 6;printf("%d\n", ab); printf("%d\n", a-b); printf("%…

MySQL日志——针对实习面试

目录 MySQL日志MySQL有哪些日志&#xff1f;请解释一下MySQL的二进制日志&#xff08;Binlog&#xff09;的作用&#xff1f;复制&#xff08;Replication&#xff09;数据恢复&#xff08;Point-in-Time Recovery&#xff09; Binlog日志的三种格式是什么&#xff1f;如何使用…

STM32 HAL库 SPI驱动1.3寸 OLED屏幕

目录 参考硬件引脚与接线 点亮屏幕CubeMX 配置OLED 驱动程序代码 参考 基于STM32F103C8T6最小系统板HAL库CubeMX SPI驱动7针 OLED显示屏&#xff08;0.96寸 1.3寸通用&#xff09;0.96 oled HAL库驱动 SPI STM32SPI驱动0.96/1.3寸 OLED屏幕&#xff0c;易修改为DMA控制STM32驱…

qt QStatusBar详解

1、概述 QStatusBar是Qt框架提供的一个小部件&#xff0c;用于在应用程序窗口底部显示状态信息。它可以显示一些固定的文本和图标&#xff0c;并且可以通过API动态更新显示内容。QStatusBar通常是一个水平的窗口部件&#xff0c;能够显示多行文本内容&#xff0c;非常适合用于…

h5st参数解析

前言 之前4.8卡我&#xff0c;感觉过了&#xff0c;但是又好像失败了&#xff0c;所以这篇博客憋着没写&#xff0c;这次再次搞了一下&#xff0c;这次弄起来感觉挺简单的啊。 分析 1 20241102203105966; 2 fhhv55ehre91k4l8; 3 f06cc; 4 tk03w…

clickhouse运维篇(二):多机器手动部署ck集群

熟悉流程并且有真正部署需求可以看一下我的另一篇简化部署的文章&#xff0c;因为多节点配置还是比较麻烦的先要jdk、zookeeper&#xff0c;再ck&#xff0c;还有各种配置文件登录不同机器上手动改配置文件还挺容易出错的。 clickhouse运维篇&#xff08;三&#xff09;&#x…

导航栏小案例

实现类似于这样的效果 <!DOCTYPE html> <html><head><meta charset"utf-8"><title>导航栏</title><style>*{margin: 0;padding: 0;}.div1{width: 100%;height: 60px;/* border: 1px solid blue; */background-color:rgb(…

ASP .NET CORE 6 在项目中集成WatchDog开源项目

概念 WatchDog是一个开源的项目&#xff0c;可以实现对.Net 应用程序和API实现实时应用日志和性能监控平台。可以实现实时记录和查看应用程序中的消息、事件、HTTP请求和响应&#xff0c;以及运行时捕获的异常&#xff0c;有效帮助开发人员去排查应用异常&#xff0c;提升开发效…

四、k8s快速入门之Kubernetes资源清单

kubernetes中的资源 ⭐️ k8s中所有的内容都抽象为资源&#xff0c;资源实列化之后&#xff0c;叫做对象 1️⃣名称空间级别 ⭐️ kubeadm在执行k8s的pod的时候会在kube-system这个名称空间下执行&#xff0c;所以说当你kubectl get pod 的时候是查看不到的查看的是默认的po…

无人机之集群控制方法篇

无人机的集群控制方法涉及多个技术和策略&#xff0c;以确保多架无人机能够协同、高效地执行任务。以下是一些主要的无人机集群控制方法&#xff1a; 一、编队控制方法 领航-跟随法&#xff08;Leader-Follower&#xff09; 通过设定一架无人机作为领航者&#xff08;长机&am…