python基础——对序列的通用操作【+和*、in、切片操作、separator.join(iterable)】

news2024/11/25 2:58:44

📝前言:
我们已经学习了python数据容器中的列表元组以及字符串。而他们都属于序列
(序列是指:内容连续,有序,可以用下标索引访问的数据容器)
在之前已经介绍了不少操作方法,这篇文章,我将继续扩展一下,关于序列的通用操作方法:
1," + “和” * "
2,元素存在性(in)
3,数据切片
4,separator.join(iterable)

🎬个人简介:大学生一枚,努力学习ing
📋个人专栏:C语言入门基础以及python入门基础
🎀CSDN主页 愚润求学
🌄每日鸡汤:星星之火,可以燎原


文章目录

  • 一、+链接和*重复
    • 1," + "
    • 2," * "
  • 二、元素存在性(in)
  • 三、数据切片
  • 四,separator.join(iterable)

一、+链接和*重复

1," + "

"+"通常用于数据之间的计算,但是我们也可以把他用在序列之间
当我们在序列之间使用"+",可以实现两个序列的连接,会返回一个连接好后的新序列
基本语法👇🏻

序列 + 序列

示例👇🏻

# 连接两个字符串
str1 = "hello"
str2 = " world!"
str = str1 + str2
print(str)

# 连接两个列表
list1 = [1,2,3,4]
list2 = [5,6,7]
list = list1 + list2
print(list)

# 连接两个元组
tuple1 = (1,2,3)
tuple2 = (4,5,6,7)
tuple = tuple1 + tuple2
print(tuple)

输出结果👇🏻
在这里插入图片描述

2," * "

在python中*运算符也可以用于重复序列,会返回一个重复完以后的新序列
基本语法👇🏻

序列 * n 或者 n * 序列(注意📢:n是要重复的次数)

示例👇🏻

# 使用*重复字符串
str1 = "你好!"
str = str1 * 2
print(str)

# 使用*重复列表
list1 = [1,2]
list = list1 * 3
print(list)

# 使用*重复元组
tuple1 = (1,2,3)
tuple = 2 * tuple1
print(tuple)

输出结果:
在这里插入图片描述

二、元素存在性(in)

在 Python 中,in 运算符用于检查一个值是否存在于序列(如列表、元组、字符串)中。
例如,我们可以使用 in 运算符来检查一个元素是否在列表中👇🏻

my_list = [1, 2, 3, 4, 5]

element = 3
if element in my_list:
    print(f"{element} 在列表中")
else:
    print(f"{element} 不在列表中")
# 输出结果:3在列表中

三、数据切片

在 Python 中,序列(如列表、元组和字符串)支持一种称为“切片”的操作,它可以对序列进行切片,用来获取序列的一部分。(注意:切片操作返回一个新序列,原始序列不会被修改。)
基本语法👇🏻

序列[start:stop:step] # 注意:切片后,返回一个新序列

start :起始索引(包含在范围内)。可以省略,默认值是 0
stop :结束索引(不包含在范围内)。可以省略,默认值是序列的结尾
step :步长,表示每多少个元素取一个元素。可以省略,默认值是1(step可以取负数,代表从后往前取

示例👇🏻

# 获取列表从索引1开始到索引4(不包括索引4)的元素
lst = [0, 1, 2, 3, 4, 5]
new_list1 = lst[1:4]
print(new_list1) # 结果是 [1, 2, 3]

# 获取列表从索引2开始到序列末尾的元素
new_list2 = lst[2:]
print(new_list2) # 结果是 [2, 3, 4, 5]

# 获取列表从索引0开始,每隔一个元素取一个元素(即每两个取一个)
new_list3 = lst[::2]
print(new_list3) # 结果是 [0, 2, 4]

# 从后往前取,从索引4开始,往前取到索引1(不包括索引1)的元素
lst = [0, 1, 2, 3, 4, 5]
new_list4 = lst[4:1:-1]
print(new_list4) # 结果是 [4, 3, 2]

# 用-1的step实现逆序输出
lst = [0, 1, 2, 3, 4, 5]
new_list5 = lst[::-1]
print(new_list5) # 结果是 [5, 4, 3, 2, 1, 0]

# 对元组使用切片
tuple = (0,1,2,3,4)
new_tuple = tuple[1:4]
print(new_tuple) # 结果是 (1, 2, 3)

# 对字符串使用切片
str = "hello world!"
new_str = str[1:9:2]
print(new_str) # 结果是 el o

程序运行截图:
在这里插入图片描述

四,separator.join(iterable)

在 Python 中,separator.join(iterable) 是一个字符串方法,用于将一个可迭代对象(如列表、元组等)中的所有元素连接成一个字符串,元素之间使用调用该方法的字符串(即separator)作为分隔符。
基本语法👇🏻

separator.join(iterable)

separator:一个字符串,表示用于分隔元素的符号。
iterable:一个可迭代对象,其中的元素将使用 separator 作为分隔符连接成一个字符串。

示例👇🏻

separator = "-"
words = ["apple", "banana", "cherry"]
result = separator.join(words)
print(result)

输出👇🏻
在这里插入图片描述
在这个示例中,我们使用 "-" 作为分隔符,将列表 ["apple", "banana", "cherry"] 连接成一个字符串 "apple-banana-cherry"

当然,还有很多之前介绍过的方法,如:lencountindex等等,这里就不做过多介绍了。


🌈我的分享也就到此结束啦🌈
要是我的分享也能对你的学习起到帮助,那简直是太酷啦!
若有不足,还请大家多多指正,我们一起学习交流!
📢公主,王子:点赞👍→收藏⭐→关注🔍
感谢大家的观看和支持!祝大家都能得偿所愿,天天开心!!!

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

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

相关文章

工作需求,Vue实现登录

加油&#xff0c;新时代打工人&#xff01; vue 2.x Element UI <template><div class"body" :style"{background-image: url(${require(/assets/images/login.png)})}"><el-form :rules"rules" ref"loginForm" :mode…

线性表:关于链表(主要以单链表为例)的相关理解和应用

多清澈这天空 晴雨相拥 同心逐梦&#xff01; 坚守我信心 一路出众&#xff01;&#xff01; 首先&#xff0c;按照惯例&#xff0c;欢迎大家边听歌边观看本博客 ▶ 紫荆花盛开 (163.com)&#xff08;建议复制链接&#xff0c;浏览器打开&#xff0c;csdn打开太慢了&#x…

mysql数据类型和常用函数

目录 1.整型 1.1参数signed和unsigned 1.2参数zerofill 1.3参数auto_increment 2.数字类型 2.1floor()向下取整 2.2随机函数rand() 2.3重复函数repeat() 3.字符串类型 3.1length()查看字节长度&#xff0c;char_length()查看字符长度 3.2字符集 3.2.1查看默认字符…

工程信号的去噪和(分类、回归和时序)预测

&#x1f680;【信号去噪及预测论文代码指导】&#x1f680; 还为小论文没有思路烦恼么&#xff1f;本人专注于最前沿的信号处理与预测技术——基于信号模态分解的去噪算法和深度学习的信号&#xff08;回归、时序和分类&#xff09;预测算法&#xff0c;致力于为您提供最精确、…

MySql实战--深入浅出索引(下)

在开始这篇文章之前&#xff0c;我们先来看一下这个问题&#xff1a; 在下面这个表T中&#xff0c;如果我执行 select * from T where k between 3 and 5&#xff0c;需要执行几次树的搜索操作&#xff0c;会扫描多少行&#xff1f; 下面是这个表的初始化语句。 图1 InnoDB的索…

第 6 章 ROS-xacro练习(自学二刷笔记)

重要参考&#xff1a; 课程链接:https://www.bilibili.com/video/BV1Ci4y1L7ZZ 讲义链接:Introduction Autolabor-ROS机器人入门课程《ROS理论与实践》零基础教程 6.4.3 Xacro_完整使用流程示例 需求描述: 使用 Xacro 优化 URDF 版的小车底盘模型实现 结果演示: 1.编写 X…

ChatGPT已经掌控了全局:不仅写论文的在用ChatGPT,同行评审也在用ChatGPT!

大家好&#xff0c;我是木易&#xff0c;一个持续关注AI领域的互联网技术产品经理&#xff0c;国内Top2本科&#xff0c;美国Top10 CS研究生&#xff0c;MBA。我坚信AI是普通人变强的“外挂”&#xff0c;所以创建了“AI信息Gap”这个公众号&#xff0c;专注于分享AI全维度知识…

分库分表场景下多维查询解决方案(用户+商户)

在采用分库分表设计时&#xff0c;通过一个PartitionKey根据散列策略将数据分散到不同的库表中&#xff0c;从而有效降低海量数据下C端访问数据库的压力。这种方式可以缓解单一数据库的压力&#xff0c;提升了吞吐量&#xff0c;但同时也带来了新的问题。对于B端商户而言&#…

【Python爬虫】网络爬虫:信息获取与合规应用

这里写目录标题 前言网络爬虫的工作原理网络爬虫的应用领域网络爬虫的技术挑战网络爬虫的伦理问题结语福利 前言 网络爬虫&#xff0c;又称网络爬虫、网络蜘蛛、网络机器人等&#xff0c;是一种按照一定的规则自动地获取万维网信息的程序或者脚本。它可以根据一定的策略自动地浏…

linux查看usb是3.0还是2.0

1 作为device cat /sys/devices/platform/10320000.usb30drd/10320000.dwc3/udc/10320000.dwc3/current_speed 如下 high-speed usb2.0 super-speed usb3.0 2 作为host linux下使用以下命令查看 &#xff0c;如果显示 速率为5G, 则为USB 3.0&#xff0c; USB2.0通常显示速率…

Day17|二叉树part04:110.平衡二叉树、257.二叉树的所有路径、404.左叶子之和、543: 二叉树的直径、124: 二叉树的最大路径和

之前的blog链接&#xff1a;https://blog.csdn.net/weixin_43303286/article/details/131982632?spm1001.2014.3001.5501 110.平衡二叉树 本题中&#xff0c;一棵高度平衡二叉树定义为&#xff1a;一个二叉树每个节点 的左右两个子树的高度差的绝对值不超过1。思路&#xff…

Matlab之已知2点绘制长度可定义的射线

目的&#xff1a;在笛卡尔坐标系中&#xff0c;已知两个点的位置&#xff0c;绘制过这两点的射线。同时射线的长度可以自定义。 一、函数的参数说明 输入参数&#xff1a; PointA&#xff1a;射线的起点&#xff1b; PointB&#xff1a;射线过的零一点&#xff1b; Length&…

AI PPT生成工具 V1.0.0

AI PPT是一款高效快速的PPT生成工具&#xff0c;能够一键生成符合相关主题的PPT文件&#xff0c;大大提高工作效率。生成的PPT内容专业、细致、实用。 软件特点 免费无广告&#xff0c;简单易用&#xff0c;快速高效&#xff0c;提高工作效率 一键生成相关主题的标题、大纲、…

【链表】Leetcode 138. 随机链表的复制【中等】

随机链表的复制 给你一个长度为 n 的链表&#xff0c;每个节点包含一个额外增加的随机指针 random &#xff0c;该指针可以指向链表中的任何节点或空节点。 构造这个链表的 深拷贝。 深拷贝应该正好由 n 个 全新 节点组成&#xff0c;其中每个新节点的值都设为其对应的原节点…

Linux - 应用层HTTPS、传输层TCP/IP模型中典型协议解析

目录 应用层&#xff1a;自定制协议实例 HTTP协议首行头部空行正文http服务器的搭建 HTTPS协议 传输层UDP协议TCP协议 应用层&#xff1a; 应用层负责应用程序之间的沟通—程序员自己定义数据的组织格式 应用层协议&#xff1a;如何将多个数据对象组织成为一个二进制数据串进行…

代码签名证书被吊销的原因及其后果是什么?

代码签名证书是确保软件代码完整性和可信度的关键工具&#xff0c;然而&#xff0c;在某些情况下&#xff0c;此类证书可能会被撤销。这意味着证书颁发机构&#xff08;CA&#xff09;不再认可该证书的有效性&#xff0c;并宣布其失效。本文将解析导致代码签名证书撤销的原因、…

Bytebase 2.14.1 - 分支 (Branching) 功能支持 Oracle

&#x1f680; 新功能 分支 (Branching) 功能支持 Oracle。为 SQL 编辑器添加了项目选择器。 新增 SQL 审核规范&#xff1a; 禁止混合 DDL、DML 语句。禁止对同一张表进行不同类型的 DML 变更 (UPDATE,INSERT,DELETE)。 &#x1f514; 重大变更 工作空间设置中的「数据访问…

puppeteer使用示例云顶之弈官网

自己从0到1开发的&#xff0c;微信小程序【云顶宝藏】求求点个5星好评吧&#xff01; 需求&#xff1a;拿到所有英雄的信息 思路&#xff1a;点击每个英雄&#xff0c;进入英雄详情页&#xff0c;拿信息&#xff0c;并返回&#xff0c;继续下一个英雄** 最终效果 本地环境 win…

【链表】Leetcode 148. 排序链表【中等】

排序链表 给你链表的头结点 head &#xff0c;请将其按 升序 排列并返回 排序后的链表 。 示例 1&#xff1a; 输入&#xff1a;head [4,2,1,3] 输出&#xff1a;[1,2,3,4] 解题思路 对链表进行升序排序&#xff0c;可以使用归并排序&#xff08;Merge Sort&#xff09;的…

vben admin上线后接口调用成功,控制台报promise错误

vben admin上线后接口调用成功&#xff0c;控制台报promise错误 问题原因 vben admin框架对返回的数据格式做了统一处理&#xff0c;不满足格式要求的接口返回直接抛异常。 解决方案 将返回参数校验关闭&#xff0c;重新打包部署。