Python 04 之变量【列表,元组,集合,字典,字符串】

news2024/11/27 15:39:45

😀前言
在Python编程语言中,我们经常会遇到各种数据类型和相应的操作方法。理解和掌握这些基本构造是进行有效编程的前提。在本文中,我们将介绍两种非常重要的数据结构 - 集合和字典,然后我们将深入探讨字符串及其相关的操作和处理方法,包括格式化和切片。我们还将通过示例来详细解释如何使用这些结构和方法,以便你可以在实际编程中轻松应用它们。

🏠个人主页:尘觉主页
在这里插入图片描述

🧑个人简介:大家好,我是尘觉,希望我的文章可以帮助到大家,您的满意是我的动力😉😉

在csdn获奖荣誉: 🏆csdn城市之星2名
⁣⁣⁣⁣ ⁣⁣⁣⁣ ⁣⁣⁣⁣ ⁣⁣⁣⁣ ⁣⁣⁣⁣ ⁣⁣⁣⁣ ⁣⁣⁣⁣ ⁣⁣⁣⁣ 💓Java全栈群星计划top前5
⁣⁣⁣⁣ ⁣⁣⁣⁣ ⁣⁣⁣⁣ ⁣⁣⁣⁣ ⁣⁣⁣⁣ ⁣⁣⁣⁣ ⁣⁣⁣⁣ ⁣⁣⁣⁣ 🤗 端午大礼包获得者
⁣⁣⁣⁣ ⁣⁣⁣⁣ ⁣⁣⁣⁣ ⁣⁣⁣⁣ ⁣⁣⁣⁣ ⁣⁣⁣⁣ ⁣⁣⁣⁣ ⁣⁣⁣⁣ 🥰阿里云专家博主
⁣⁣⁣⁣ ⁣⁣⁣⁣ ⁣⁣⁣⁣ ⁣⁣⁣⁣ ⁣⁣⁣⁣ ⁣⁣⁣⁣ ⁣⁣⁣⁣ ⁣⁣⁣⁣ 😉亚马逊DyamoDB结营

💕欢迎大家:这里是CSDN,我总结知识的地方,欢迎来到我的博客,感谢大家的观看🥰
如果文章有什么需要改进的地方还请大佬不吝赐教 先在次感谢啦😊

文章目录

  • Python 04 之变量【列表,元组,集合,字典,字符串】
  • 1、变量类型
    • 1.1 数字型
    • 1.2 非数字型
  • 2、列表
    • 2.1 列表常用方法
    • 2.2 循环遍历列表
    • 2.3 拆包
    • 2.4 列表推导式
      • 1、基本使用
      • 2、在推导过程中使⽤**if**
  • 3、公共方法
  • 4、元组
    • 4.1 元组和列表的差别
    • 4.2 元祖和列表之间的转换
  • 5、集合
  • 6、字典
  • 7、字符串
  • 8、字符串的切片
    • 😄总结

Python 04 之变量【列表,元组,集合,字典,字符串】

1、变量类型

Python 中数据类型可以分为数字型和⾮数字型 。

1.1 数字型

  • 整型 ( int ) ;

  • 浮点型( float );

  • 布尔型( bool )

    • 真 True ⾮ 0 数 —— ⾮零即真 ;

    • 假 False 0 ;

1.2 非数字型

  • 列表;

  • 元组;

  • 集合;

  • 字典;

  • 字符串。

在 Python 中,所有非数字型变量都⽀持以下特点:

  1. 都是一个序列 ;
  2. 通过 变量名[索引] 方式取值 ;
  3. 通过 for in 遍历;
  4. 可以计算⻓度、最⼤和最⼩值 。

2、列表

List (列表) 是 Python 中使⽤最频繁的数据类型,在其他语⾔中通常叫做数组 ,专⻔⽤于存储 一串信息 。

  1. 列表⽤ [] 定义,列表中的数据之间使⽤ , 分隔 ;

  2. 列表的索引从 0 开始 ;

  3. 索引就是数据在列表中的位置编号,索引⼜可以被称为下标

注:

从列表中取值时,如果超出索引范围程序会报错。

代码示例:

# 定义一个列表变量,名字叫 names,有三个元素
names = ["小明", "小红", "小绿"]
# 显示列表第一个元素的值
print(names[0])
# IndexError: list index out of range
# 错误,列表没有[3]这个值 下标从0开始
print(names[3])

image-20230903164027455

我们还可以通过dir()函数查看某类型中定义的方法。

# 定义一个列表变量,名字叫 names,有三个元素
names = ["小明", "小红", "小绿"]
# 通过 dir 函数显示列表所有的方法
print(dir(names))

image-20230903164009742

2.1 列表常用方法

image-20230903163111914

代码示例:

# 定义一个列表变量,名字叫 names,有三个元素
names = ["小明", "小红", "小绿"]
# 计算小明在数组中出现的次数
print(names.count('小明'))

image-20230903163941633

2.2 循环遍历列表

遍历就是从头到尾依次从列表中获取数据

# 定义一个列表变量,名字叫 names,有三个元素
names = ["小明", "小红", "小绿"]
# 循环遍历列表
for i in names:
    print(i)

image-20230903163952668

在 Python 中,可以使⽤ for 循环遍历所有⾮数字型类型的变量,包括:列表、元组、字典以及字符串。

2.3 拆包

拆包就是把一个列表中每个值拆出来, 拆包操作同样适用于元组,集合和字典。

# 定义一个列表变量,名字叫 names,有三个元素
names = ["小明", "小红", "小绿"]
# 通过对列表进行拆包方式获取列表中每个元素的值
a,b,c = names;
print(a,b,c) 

image-20230903163918354

2.4 列表推导式

所谓的列表推导式,就是指轻量级的循环创建列表的⽅法 。

1、基本使用

# a 的内容为[3, 5, 7, 9]
a = [x for x in range(3, 10, 2)]
print(a)

image-20230903163906190

2、在推导过程中使⽤if

# a 的内容为[3, 5, 7, 9]
a = [x for x in range(3, 10) if x % 2 != 0]
print(a)

image-20230903163855393

3、公共方法

image-20230903163246196

公共方法同样适用于元组,集合,字典,字符串等类型

示例:

# 定义一个列表变量,名字叫 names,有三个元素
names = ["小明", "小红", "小绿"]
# 判断列表中是否有小明,有就将其删除
if "小明" in names:
    names.remove("小明")
    # 打印
    print(names)

image-20230903163831161

4、元组

Tuple (元组)与列表类似,不同之处在于元组的元素不能修改;

示例:

1、元组⽤ () 定义 。

# 定义一个元组,名字叫 names,有三个元素
names = ("小明", "小红", "小绿")
# 打印
print(names)

image-20230903164059729

2、元组只有一个元素时,元素后面需要添加逗号

# 元组只有一个元素时,元素后面需要添加逗号
names = ("小明",)
print(names)

image-20230903164153566

3、定义元组时, ()可以省略

# 定义元组时, ()可以省略 
names = "小明",
print(names)

image-20230903164208204

4、 元组只有一个元素,尝试后面加和不加逗号的差别

names = ("小明",)
names2 = ("小明")
print(names)
print(names2)

image-20230903164236239

4.1 元组和列表的差别

共同点:

常用方法都差不多。

for 循环遍历也一样。

不同点:

元组的内容不能修改,所以没有增加、修改、删除相关方法。

列表则相反。

4.2 元祖和列表之间的转换

把列表转化为元组目的是让列表不可以被修改,以保护数据安全 ;

  • 使⽤ list 函数可以把元组转换成列表 ;
  • 使⽤ tuple 函数可以把列表转换成元组 。

示例:

# 定义一个元组,名字叫 names,有三个元素
names = ("小明", "小红", "小绿")
# 将元组转换成列表
names = list(names)
print(names)
# 定义一个列表 名字叫sexs,有三个元素
sexs = ["男", "女", "未知"]
# 将列表转换成元组
sexs = tuple(sexs)
print(sexs)

image-20230903163810779

5、集合

集合用{}定义

# 定义一个空集合 set1
set1 = set()

注:

不能通过 变量名 = {}来创建空集合;

集合和列表的区别:

  • 列表是有序的对象集合 ;
  • 集合是⽆序的对象集合 ;
  • 同一个集合内值不允许重复
# 定义一个集合 
set1set1 = {"小明", 33, 1.75}

集合常⽤操作

6、字典

dictionary (字典)通常⽤于存储“键值对” 数据,键与值之间用冒号分隔。

  • 键 key 是索引,同一个字典内,键名不能重复;
  • value 是数据;

**字典用{}定义:**通过变量名 = {}创建一个空字典

# 定义一个空字典 
dict1 = {}

字典与集合的区别:

  • 集合中只有值 ;
  • 字典是包含键与值的键值对 。
# 定义一个字典,包含三个键值对
dict1 = {"name": "小明", "age": 18, "height": 1.75}

字典常⽤操作

image-20230903163357048

示例:

1、循环遍历字典

# 定义一个字典dict1,包含三个键值对
dict1 = {"name": "小明", "age": 18, "height": 1.75}

# n为键,通过dict1[n]可以得到键对应的值
for n in dict1:
    print("键=%s,值=%s" % (n, str(dict1[n])))

2、循环遍历字典二拆包方式 :字典的 items 方法获取字典中的键值对

items 方法返回包含字典键值对的元组。

# 定义一个字典 dict1,包含三个键值对
dict1 = {"name": "小明", "age": 18, "height": 1.75}
# n 获取 dict1 中的每个键值对
for n in dict1.items():
    print(n)

3、通过对元组拆包的方式获取键和值

# 定义一个字典 dict1,包含三个键值对
dict1 = {"name": "小明", "age": 18, "height": 1.75}
# a 为键,b 为值
for a, b in dict1.items():
    print("键=%s,值=%s" % (a, str(b)))
  1. 以上的输出结果

image-20230903163731819

7、字符串

  1. 字符串就是⼀串字符,是编程语⾔中表示⽂本的数据类型。

  2. 在 Python 中可以使⽤⼀对双引号 " 或者⼀对单引号 ’ 定义⼀个字符串。

  3. 虽然可以使⽤ " 或者 ’ 做字符串的转义,但是在实际开发中: 如果字符串内部需要使⽤ " ,可以使⽤ ’ 定义字符串。

  4. 如果字符串内部需要使⽤ ’ ,可以使⽤ " 定义字符串。

  5. 可以使⽤[索引]获取⼀个字符串中指定位置的字符,索引计数从 0 开始

示例:

遍历字符串中每个字符

# 定义一个字符串 str1
str1 = "求个点赞+关注!"
for n in str1:
    print(n)

image-20230903163647140

字符串的常⽤方法

格式化字符串:

  • % 被称为格式化操作符,专⻔⽤于处理字符串中的格式 。
  • 包含 % 的字符串,被称为格式化字符串 。
  • % 和不同的字符连⽤,不同类型的数据需要使⽤不同的格式化字符

image-20230903163536357

语法:

str1 = "姓名:%s, 年龄%d" % ("小明",18)

8、字符串的切片

  1. 切⽚⽅法适⽤于字符串、列表、元组 ;
  2. 切⽚使⽤索引值来限定范围,从⼀个⼤的字符串中切出⼩的字符串 ;
  3. 字符串、列表和元组都是有序的集合,都能够通过[索引]获取到对应的数据 。

1、切片语法:字符串[开始索引:结束索引:步⻓]

str1 = "求个点赞和关注"
s = str1[2:6:1]
print(s)

image-20230903163615334

注:

  1. 指定的区间属于左闭右开型 [开始索引, 结束索引) => 开始索引 >= 范围 < 结束索引从起始位开始,到结束位的前⼀位结束(不包含结束位本身) 。

  2. 从头开始,开始索引数字可以省略,冒号不能省略

  3. 到末尾结束,结束索引数字可以省略,冒号不能省略

  4. 步⻓默认为 1 ,如果连续切⽚,数字和冒号都可以省略

索引的顺序和倒序

在 Python 中不仅⽀持顺序索引,同时还⽀持倒序索引,所谓倒序索引就是从右向左计算索引 。

str1 = "求个点赞和关注"
s = str1[-1]
print(s)

image-20230903164439386

代码示例:

# 截取从 2 ~ 末尾的字符串 定义一个字符串 str1
str1 = "求个关注和点赞"
s = str1[2:]
print(s)

# 截取从开始 ~ 5 位置的字符串 定义一个字符串 str1
str1 = "求个关注和点赞"
s = str1[:6]
print(s)

# 截取完整的字符串 定义一个字符串 str1
str1 = "求个关注和点赞"
s = str1[:]
print(s)

# 字符串的逆序 定义一个字符串 str1
str1 = "求个关注和点赞"
s = str1[::-1]
print(s)

image-20230903164536504
引,同时还⽀持倒序索引,所谓倒序索引就是从右向左计算索引 。

str1 = "求个点赞和关注"
s = str1[-1]
print(s)

image-20230903164439386
代码示例:

# 截取从 2 ~ 末尾的字符串 定义一个字符串 str1
str1 = "求个关注和点赞"
s = str1[2:]
print(s)

# 截取从开始 ~ 5 位置的字符串 定义一个字符串 str1
str1 = "求个关注和点赞"
s = str1[:6]
print(s)

# 截取完整的字符串 定义一个字符串 str1
str1 = "求个关注和点赞"
s = str1[:]
print(s)

# 字符串的逆序 定义一个字符串 str1
str1 = "求个关注和点赞"
s = str1[::-1]
print(s)

image-20230903164536504

😄总结

经过本文的学习,我们已经掌握了Python中集合和字典的基本定义和常用操作。我们学会了如何创建和遍历它们,以及如何使用键值对来存储和检索信息。此外,我们还探讨了字符串的各种功能和特点,学习了字符串的切片和格式化操作,它们在处理文本数据时非常有用。

我们了解到,通过切片可以从现有字符串中提取特定的子字符串,而通过格式化可以创建结构化的字符串输出。这些基本但强大的工具不仅使我们能够更有效地处理数据,还为我们提供了创建更复杂、更强大的Python程序的基础。

现在,你已经具备了使用Python中的这些基本数据结构和字符串操作的知识,我们期待你将这些知识应用于更高级的项目和程序中,展示Python编程的力量和灵活性。希望你能通过实践来巩固和深化你的理解,祝您编程愉快!

😁热门专栏推荐
想学习vue的可以看看这个

java基础合集

数据库合集

redis合集

nginx合集

linux合集

手写机制

微服务组件

spring_尘觉

springMVC

mybits

等等等还有许多优秀的合集在主页等着大家的光顾感谢大家的支持

🤔欢迎大家加入我的社区 尘觉社区

文章到这里就结束了,如果有什么疑问的地方请指出,诸佬们一起来评论区一起讨论😁
希望能和诸佬们一起努力,今后我们一起观看感谢您的阅读🍻
如果帮助到您不妨3连支持一下,创造不易您们的支持是我的动力🤞

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

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

相关文章

父域 Cookie实现sso单点登录

单点登录&#xff08;Single Sign On, SSO&#xff09;是指在同一帐号平台下的多个应用系统中&#xff0c;用户只需登录一次&#xff0c;即可访问所有相互信任的应用系统。Cookie 的作用域由 domain 属性和 path 属性共同决定。在 Tomcat 中&#xff0c;domain 属性默认为当前域…

CUDA小白 - NPP(8) 图像处理 Morphological Operations

cuda小白 原始API链接 NPP GPU架构近些年也有不少的变化&#xff0c;具体的可以参考别的博主的介绍&#xff0c;都比较详细。还有一些cuda中的专有名词的含义&#xff0c;可以参考《详解CUDA的Context、Stream、Warp、SM、SP、Kernel、Block、Grid》 常见的NppStatus&#xf…

消除笔哪个P图软件有?这几种软件都有消除笔功能

哪些软件中有消除笔工具呢&#xff1f;我们在日常的生活中&#xff0c;会经常有编辑图片的需求&#xff0c;如果图片上有一些内容我们想要将它去除掉&#xff0c;如文字、涂鸦、笔记、标记等&#xff0c;需要用到一些消除笔工具&#xff0c;那么哪些软件具有这个功能并且还非常…

Excel变天了!国内已经可以用Python了!看看如何操作

对于大部分学python的同学来说&#xff0c;绝大部分场景都是用Pandas处理excel。 但有时简单的处理还要打开Jupyter或者VS Code&#xff0c;就有点麻烦。 现在&#xff01;微软已经把Python塞到Excel里啦&#xff01; 其实之前就已经塞了&#xff0c;但这几天国内都可以用了。…

传猪场员工因抑郁症去世,ACM金牌

前言 一位素未蒙面的学弟&#xff0c;R.I.P 既然是 “传”&#xff0c;我们就不能假定人家有抑郁症&#xff0c;其实前天就收到了这个消息&#xff0c;因为是一个学校的&#xff0c;又是ACM金牌&#xff0c;所以第一时间就在群里刷屏了&#xff0c;这件事情对于一个家庭来说&am…

10个TikTok影响力营销策略,让你的品牌崭露头角

TikTok已经成为一种崭露头角和塑造品牌声誉的强大平台。随着数以亿计的用户在这个短视频应用上分享创意和内容&#xff0c;品牌和营销专业人士也越来越多地将其作为推广产品和服务的渠道。 在本文中&#xff0c;我们将探讨10个TikTok影响力营销策略&#xff0c;帮助你的品牌在…

【Spring Boot】有这一文就够了

作者简介 前言 作者之前写过一个Spring Boot的系列&#xff0c;包含自动装配原理、MVC、安全、监控、集成数据库、集成Redis、日志、定时任务、异步任务等内容&#xff0c;本文将会一文拉通来总结这所有内容&#xff0c;不骗人&#xff0c;一文快速入门Spring Boot。 专栏地址…

了解CRM软件系统三种类型的特点与区别

市面上的CRM系统大致可以分为三种主要类型&#xff1a;分析型CRM、运营型CRM和协作型CRM。很多人对这三种类型的CRM系统不太了解&#xff0c;不知道该如何区分&#xff0c;下面我们就来说说CRM系统的3种类型&#xff1a;分析型、运营型和协作型的区别。 分析型CRM的特点&#…

系统灰度随笔记

系统灰度随笔记 这段时间系统重构&#xff0c;负责重构的其中一个模块需要与四个上游系统对接进行切换&#xff0c;虽然自己在这个过程中也设计了一套灰度方案来承接&#xff0c;将灰度的主动权控制在下游&#xff0c;但是很难同时应对四个上游系统&#xff0c;因为每个上游系…

Python语言学习实战-内置函数reduce()的使用(附源码和实现效果)

实现功能 reduce()是一个内置函数&#xff0c;它用于对一个可迭代对象中的元素进行累积操作。它接受一个函数和一个可迭代对象作为参数&#xff0c;并返回一个单个的累积结果。reduce()函数的语法如下&#xff1a; reduce(function, iterable[, initializer])其中&#xff0c;…

SpringMVC之JSON返回及异常处理

目录 JSON处理 导入依赖 配置Spring-mvc.xml ResponseBody注解使用 测试 目录 JSON处理 导入依赖 配置Spring-mvc.xml ResponseBody注解使用 测试 Jackson 定义 用法 常用注解 统一异常处理 为什么要全局异常处理&#xff1f; 异常处理思路 SpringMVC异常分类 综…

java基础-基础知识点

文章目录 jdk目录结构函数式接口wait、notify、notifyAll 并发编程Threadsleep、yield、joindaemon &#xff08;守护线程&#xff09; 锁[synchronized ](https://blog.csdn.net/EnjoyFight/article/details/127457876)线程池 jdk目录结构 jdk1.8 jdk20 函数式接口 http…

PyTorch之张量的相关操作大全 ->(个人学习记录笔记)

文章目录 Torch1. 张量的创建1.1 直接创建1.1.1 torch.tensor1.1.2 torch.from_numpy(ndarray) 1.2 依据数值创建1.2.1 torch.zeros1.2.2 torch.zeros_like1.2.3 torch.ones1.2.4 torch.ones_like1.2.5 torch.full1.2.6 torch.full_like1.2.7 torch.arange1.2.8 torch.linspace…

快速安装Redis以及配置Redis集群

Redis集群 本章是基于CentOS7下的Redis集群教程&#xff0c;包括&#xff1a; 单机安装RedisRedis主从Redis分片集群 1.单机安装Redis 首先需要安装Redis所需要的依赖&#xff1a; yum install -y gcc tcl#docker安装redis #1、docker pull redis#2、docker run --name my…

如何搭建一款BI系统

一、BI系统介绍 1.1 什么是BI系统 BI的英文全拼是Business Intelligence&#xff0c;商业智能&#xff0c;简称BI。我们经常能听到企业说“上BI”、“建设BI系统”、“构建BI决策平台”等内容。那么BI到底是什么呢&#xff1f; (1) 最初起源于固定报表 在几十年前&#xff…

【网络编程】深入理解TCP协议一(三次握手四次挥手、标记位、确认应答机制、超时重传机制)

TCP协议 1.三次握手四次挥手2.TCP协议段格式3.标记位介绍4.确认应答机制5.超时重传机制 1.三次握手四次挥手 当客户端发起连接请求时&#xff0c;SYN需要被设置位1&#xff0c;告诉服务器客户端希望建立一个链接服务器收到响应之后会回复 SYNACK&#xff0c;表示确认了客户端地…

Hum Brain Mapp:皮质脑-心轴的微状态

摘要 脑电图(EEG)微状态是具有准稳态头皮地形的大脑状态。这种状态是否会延伸到身体层面(即外周自主神经系统)目前尚不清楚。假设微状态作为一种中枢自主神经网络的功能状态会延伸到脑-心轴水平。因此&#xff0c;本研究结合了EEG和心跳动力学序列来估计起源于皮层的定向信息传…

第35章_瑞萨MCU零基础入门系列教程之ADXL345三轴传感器驱动实验

本教程基于韦东山百问网出的 DShanMCU-RA6M5开发板 进行编写&#xff0c;需要的同学可以在这里获取&#xff1a; https://item.taobao.com/item.htm?id728461040949 配套资料获取&#xff1a;https://renesas-docs.100ask.net 瑞萨MCU零基础入门系列教程汇总&#xff1a; ht…

虹科案例 | Zuellig Pharma和ELPRO通过符合GDP标准的温度监测和高效的温度数据管理为未来发展奠定基础

在本案例研究中&#xff0c;您将了解Zuellig Pharma 实施了温度监测解决方案&#xff0c;以一致的数据结构获取各国和各种运输方式的数据; 通过将温度数据上传到其数据库管理系统&#xff0c;显著提高了其效率; 并建立了为未来管理决策提供数据增值使用的基础。 项目合作伙伴 …

《AI新时代:大一新生如何快速入门IT专业?》

&#x1f337;&#x1f341; 博主猫头虎&#xff08;&#x1f405;&#x1f43e;&#xff09;带您 Go to New World✨&#x1f341; &#x1f405;&#x1f43e;猫头虎建议程序员必备技术栈一览表&#x1f4d6;&#xff1a; &#x1f6e0;️ 全栈技术 Full Stack: &#x1f4da…