Python之魔幻切片——万物可切(只要是序列对象)。负整数步长一出,序列瞬间倒置,可以玩儿更多花样。

news/2024/4/28 22:29:55/文章来源:https://blog.csdn.net/m0_57158496/article/details/127742093

【点击此处跳转笔记正文】

Python 官网:https://www.python.org/



  • My CSDN主页、My HOT博、My Python 学习个人备忘录
  • 好文力荐、 老齐教室

  自学并不是什么神秘的东西,一个人一辈子自学的时间总是比在学校学习的时间长,没有老师的时候总是比有老师的时候多。
            —— 华罗庚


等风来,不如追风去……


万物可切(只要是序列对象)
Python之魔幻切片
(负整数步长一出,序列瞬间倒置,可以玩儿更多花样 )


  在开始探讨切片之前,我们来看个用Python切片做的玩意儿——玩耍苏轼的回文诗《记梦》。

代码

def remember_dream():''' 苏轼回文诗《记梦》'''first = '空花落尽酒倾漾'second = '日上山融雪涨江'third = '红焙浅瓯新火活'fourth = '龙团小转斗晴窗'poem = f"{'~'*50}\n\n{'':>17}{first},\n{'':>17}{second}。\n{'':>17}{third},\n{'':>17}{fourth}。\n\n{'~'*50}"palindrome = f"{'~'*50}\n\n{'':>17}{fourth[::-1]},\n{'':>17}{third[::-1]}。\n{'':>17}{second[::-1]},\n{'':>17}{first[::-1]}。\n\n{'~'*50}"return poem, palindrome

运行效果截图
在这里插入图片描述


  切片(slice),顾名思义就是像做饭时切菜、上医院检查的CT,厚薄随意的切。不要笑,这Python的切片,还真就是这个意思,甚至还有全切s[:],就是切取整个序列。


  接下来,我们看看她的结构:

Iter [ start : end : step ]

1、Iter  可迭代对象(序列)
2、[ ]  序列对象下标包裹符号(英文中括号)
3、start, end  序列下标(整数,可为正负)
4、step  步长,正顺负逆
5、:  分隔符(英文冒号)


  Python切片规则是,“含起不含止”,含start而不含end。

  start、end、step都是可以缺省的。前者默认从第一个元素起,第二个默认到序列未尾,步长默认1。

  清楚了Python切片的结构,那就到命令行模式下试炼试炼——

试炼效果截屏图片
在这里插入图片描述
操作字符串
在这里插入图片描述

  由试炼可见,Python切片确实是“啥都能切”。reange()函数获取的序列、列表、元组和字符串都可以顺畅操作,还可以做直接奇偶分离的花式操作。当然,您能想到的序列,应该都可以,比如time.localtime()方法获取的年月日时分秒等的时间数组、文件等,您可以试试。

在这里插入图片描述


试着操着字典和集合
在这里插入图片描述

  一遍“报错”,这对集合、字典的试炼,说明对无序对象的集合,是不可以做切片操作滴。😋


  了解更多,请移步齐伟老师免费在线连载《Python完全自学教程》4.2.5节 切片,他写得细致入微,一学就会,点击蓝色文字即可跳转阅读。


试炼负整数步长
在这里插入图片描述
  由负整数步长试炼可以明白,对序列的切取,是至右向左的。


  笔记开头的《记梦》回文诗的代码,还可以优化一下,把全诗28个汉字弄在起,用切片切出四句。回文诗,用s[::-1]倒置28个汉字再切一次四句就好。

代码


def remember_dream():''' 苏轼回文诗《记梦》'''char = '空花落尽酒倾漾日上山融雪涨江红焙浅瓯新火活龙团小转斗晴窗'poem = f"{'~'*50}\n\n{'':>17}{char[:7]},\n{'':>17}{char[7:14]}。\n{'':>17}{char[14:21]},\n{'':>17}{char[21:]}。\n\n{'~'*50}"char = char[::-1]palindrome = f"{'~'*50}\n\n{'':>17}{char[:7]},\n{'':>17}{char[7:14]}。\n{'':>17}{char[14:21]},\n{'':>17}{char[21:]}。\n\n{'~'*50}"return poem, palindrome

运行效果截图
在这里插入图片描述


回页首

mypycolor完整源码(源码较长,点此跳过源码)

#!/sur/bin/nve python
# coding: utf-8'''title = 'Python切片'Author = 'Dream elf'Date = '2022-11-07''''def remember_dream():''' 苏轼回文诗《记梦》'''first = '空花落尽酒倾漾'second = '日上山融雪涨江'third = '红焙浅瓯新火活'fourth = '龙团小转斗晴窗'poem = f"{'~'*50}\n\n{'':>17}{first},\n{'':>17}{second}。\n{'':>17}{third},\n{'':>17}{fourth}。\n\n{'~'*50}"palindrome = f"{'~'*50}\n\n{'':>17}{fourth[::-1]},\n{'':>17}{third[::-1]}。\n{'':>17}{second[::-1]},\n{'':>17}{first[::-1]}。\n\n{'~'*50}"return poem, palindromedef remember_dream():''' 苏轼回文诗《记梦》'''char = '空花落尽酒倾漾日上山融雪涨江红焙浅瓯新火活龙团小转斗晴窗'poem = f"{'~'*50}\n\n{'':>17}{char[:7]},\n{'':>17}{char[7:14]}。\n{'':>17}{char[14:21]},\n{'':>17}{char[21:]}。\n\n{'~'*50}"char = char[::-1]palindrome = f"{'~'*50}\n\n{'':>17}{char[:7]},\n{'':>17}{char[7:14]}。\n{'':>17}{char[14:21]},\n{'':>17}{char[21:]}。\n\n{'~'*50}"return poem, palindromeif __name__ == '__main__':print(f"\n{remember_dream()[0]}\n{' 苏轼回文诗《记梦》':=^41}\n{remember_dream()[1]}\n")

回页首

__上一篇:__ 剪拼子字符串——常规、另类两种算法解CSDN竞赛第八期第一小题

__下一篇:__ 

我的HOT博:

    • 给定字符串提取姓名(字符串、list、re“零宽断言”)(1051阅读)
    • 我的 Python.color() (Python 色彩打印控制)(1125阅读)
    • python清屏(1290阅读)
    • 回车符、换行符和回车换行符(1322阅读)
    • Linux 脚本文件第一行的特殊注释符(井号和感叹号组合)的含义(1171阅读)
    • pandas 数据类型之 Series(1224阅读)
    • 聊天消息敏感词屏蔽系统(字符串替换 str.replace(str1, *) )(1270阅读)
    • 练习:银行复利计算(用 for 循环解一道初中小题)(1188阅读)
    • pandas 数据类型之 DataFrame(2136阅读)
    • :班里有人和我同生日难吗?(蒙特卡洛随机模拟法)(2180阅读)
    • Python字符串居中显示(2359阅读)
    • 练习:求偶数和、阈值分割和求差( list 对象的两个基础小题)(1665阅读)
    • 用 pandas 解一道小题(2007阅读)
    • 可迭代对象和四个函数(1083阅读)
    • “快乐数”判断(1252阅读)
    • 罗马数字转换器(构造元素取模)(2159阅读)
    • Hot:罗马数字(转换器|罗生成器)(4750阅读)
    • Hot:让QQ群昵称色变的代码(36654阅读)
    • Hot:斐波那契数列(递归| for )(4071阅读)
    • 柱状图中最大矩形(1663阅读)
    • 排序数组元素的重复起止(1258阅读)
    • 电话拨号键盘字母组合(1402阅读)
    • 密码强度检测器(1986阅读)
    • 求列表平衡点(1837阅读)
    • Hot: 字符串统计(4308阅读)
    • Hot:尼姆游戏(聪明版首发)(3493阅读)尼姆游戏(优化版)(1175阅读)
    • 推荐条件点阅破千

      回目录


      老齐漫画头像

      精品文章:

      • 好文力荐:《python 完全自学教程》齐伟书稿免费连载
      • OPP三大特性:封装中的property
      • 通过内置对象理解python'
      • 正则表达式
      • python中“*”的作用
      • Python 完全自学手册
      • 海象运算符
      • Python中的 `!=`与`is not`不同
      • 学习编程的正确方法

      来源:老齐教室


      回目录

      Python 入门指南【Python 3.6.3】


      好文力荐:

      • 全栈领域优质创作者——寒佬(还是国内某高校学生)好文:《非技术文—关于英语和如何正确的提问》,“英语”和“会提问”是学习的两大利器。

      • 【8大编程语言的适用领域】先别着急选语言学编程,先看它们能干嘛

      • 靠谱程序员的好习惯


      CSDN实用技巧博文:

      • 8个好用到爆的Python实用技巧
      • python忽略警告
      • Python代码编写规范
      • Python的docstring规范(说明文档的规范写法)

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

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

    相关文章

    css:详解BFC块级格式化上下文

    定义 BFC(Block Formatting Context)块级格式化上下文 一个BFC区域包含创建该上下文元素的所有子元素,但是不包括创建了新的BFC的子元素的内部元素,BFC是一块块独立的渲染区域,可以将BFC看成是元素的一种属性&#xf…

    云原生之K8S------list-watch机制,调度约束以及故障排查

    一,list-watch机制 1,list-watch介绍 1,kubernetes是通过list-watch的机制进行每个组件的动作,保持数据同步的,每个组件之间的设计实现了解耦。 2,用户是通过kubelet根据配置文件,向apiserve…

    人工智能--机器学习概述、motplotlib的使用-折线图、散点图、柱状图、饼图

    机器学习 步骤: 获取数据–数据基本处理–特征工程–机器学习(算法)–模型评估与调优 人工智能三要素:数据、算法、计算力 CPU 控制单元多,计算单元少—更适合IO密集型任务 GPU计算单元多----更适合计算密集型任务 …

    IDA详细使用教程

    文章目录软件介绍目录结构启动页面IDA文件加载界面介绍常用快捷键操作概述函数操作数据类型操作导航操作类型操作关闭数据库软件介绍 Ollydbg 仅仅是运行于 Windows 用户模式下的一种 32 位调试器,而 IDA 是运行于 32/64 位下,可用作反编译和调试的一个…

    现在Web前端工程师年薪区间是多少?

    对于互联网公司来说用户就是上帝,做好客户体验一切才有可能。所以互联网公司都会把钱砸向前端,Web前端程序员也越来越受到企业争相聘用。但web前端工程师真的那么值钱吗? 1web前端不同阶段薪资待遇如何? 目前Web前端工程师可谓是佼…

    浏览器无痕模式有什么作用,手机浏览器开启无痕模式的方法

    在我们的手机基本上都安装了浏览器,当我们在上网过程中,不想浏览记录被留下,那么开启无痕模式是非常有必要的。那么,浏览器的无痕模式有什么作用,手机浏览器如何开启无痕模式呢?下面教大家如何在手机浏览器…

    基于springboot的信息化药品管理系统

    项目描述 临近学期结束,还是毕业设计,你还在做java程序网络编程,期末作业,老师的作业要求觉得大了吗?不知道毕业设计该怎么办?网页功能的数量是否太多?没有合适的类型或系统?等等。这里根据疫情当下,你想解决的问…

    第九期|不是吧,我在社交媒体的照片也会被网络爬虫?

    顶象防御云业务安全情报中心监测到,某社交媒体平台遭遇持续性的恶意爬虫盗取。被批量盗取用户信息和原创内容,经分类梳理和初步加工后,被黑灰产转售给竞争对手或直接用于恶意营销。由此不仅给社交媒体平台的数字资产带来直接损失,…

    ActiveState Platform - November 2022

    ActiveState Platform - November 2022 ActiveState平台定期更新新的、修补的和版本化的软件包和语言。 Python 3.10.7、3.9.14、3.8.14-解决了许多安全问题的点发布。 Python C库-ibxml 2.10.3、libxslt 1.1.37、libexpat 2.4.9、zlib 1.2.13、curl 7.85.0和sqlite3 3.39.4&am…

    大数据必学Java基础(九十六):PreparedStatement完成CURD和批处理

    文章目录 PreparedStatement完成CURD和批处理 一、完成CURD 二、批处理 1、什么是批处理

    数字图像处理练习题整理 (二)

    注: 内容仅供参考, 不保证正确性, 如有误欢迎交流指正.鸣谢: 感谢 🐰🐔🧄💯💯 小组的各位同学为内容整理提供的帮助 四.空域邻域滤波 1. 高斯模板生成 请写出生成大小为 (2N1)(2N1)、标准差为 sigma 的高斯模板 H 的…

    Redis基础架构

    可以存哪些数据? 对于键值数据库而言,基本的数据模型是key-value模型。 例如,“hello”: “world”就是一个基本的 KV 对,其中,“hello”是 key,“world”是 value。SimpleKV 也不例外。在 SimpleKV 中&am…

    【Transformers】第 2 章:文本分类

    🔎大家好,我是Sonhhxg_柒,希望你看完之后,能对你有所帮助,不足请指正!共同学习交流🔎 📝个人主页-Sonhhxg_柒的博客_CSDN博客 📃 🎁欢迎各位→点赞…

    PyCharm连接MySQL数据库竟然如此简单

    在 PyCharm 中是可以通过内置的工具来连接、操作数据库的,并且对于市面上大多数主流数据库都是支持的。 本篇教程就教大家如何通过 Pycharm 内置的数据库工具连接 MySQL 数据库。 连接 MySQL 首先打开 PyCharm ,点击菜单栏的 View --> Tool Window…

    PyCharm使用心得体会1

    一、Pycharm使用的心得体会 1. 查找功能的使用 查找可以使用的小功能 match case区分大小写words 精确匹配?regex 正则表达式 这个是在选择到的内容中继续进行检索 类似二次检索 2. 软件左下角的structure可以看到文件的结构 show inherited表示展示继承的方法 在…

    项目搭建(七)爱心代码❤网站部署(静态网站)

    爱心代码❤网站部署(静态网站)一、环境基础二、修改Tomcat启动配置三、放置静态网站四、启动Tomcat一、环境基础 如果你已经部署了Apache-Tomcat,恭喜你,你已经完成90%的部署工作 如果没有tomcat,那你先部署tomcat吧 …

    Restful风格的编程

    Restful风格的编程1、 Restful简介2、查询用户以及用户详情2.1常用注解2.2查询用户详情3、处理创建请求3.1RequestBody注解3.1.1用途3.1.2语法规范3.2日期类型的处理3.3BindingResult4、用户信息修改与删除4.1用户信息修改4.2案例前端界面后端控制器1、 Restful简介 Restful比…

    HTML爱心代码 | 一起体验理工男的极致浪漫(电视剧男主同款)

    写在前面 大家好,我是陈橘又青,今天中午刷微博,看到最近《点燃我温暖你》中男主角——理工男李峋的爱心代码撩到了无数人,于是把代码开源分享给大家。 文章目录写在前面运行示例完整代码保姆级运行教学添加背景图片修改爱心颜色运…

    工业物联网解决方案:PLC数据上云

    智能制造已成为工业发展的趋势,以PLC为代表的工控系统时制造业转型的核心,通过对其进行数据采集,可以实现远程监控,及时管理和维护。随着通信技术的发展,PLC的数据上云逐渐成为企业的新需求,可以更好远程监…

    国际物流详解:国际物流有哪些特点?国际物流有哪些优势?

    随着互联网信息的快速发展,越来越多的人通过通关网络接触到了国外世界,随之而来的采购购物潮也使得国内国际物流业发展迅速。那么国际物流有哪些特点?又有哪些优势呢?下面我们一起来详细了解一下国际物流主要特点和优势吧!一、国际物流是什么 在了解国…