索引: 按照位置提取元素

可以采用索引的方式来提取某一个字符(文字)

s = "我叫周杰伦"
print(s[3]) #程序员都是从0开始数,这里的3代表第4位,也就是“杰”
print(s[0]) #0就是第1位“我”
print(s[-1]) # -表示倒数,-1表示倒数第一位“伦”

切片: 从一个字符串中提取一部分内容

为了方便识别,我对下面的字符串进行位数标记

s = "我叫周杰伦,你呢?你叫周润发吗?"
print(s[3:6]) # 从索引3位置进行切片, 切到6结束, 坑: 切片拿不到第二个位置“6”的元素 # 语法: s[start:end] 从start到end进行切片,但是取不到end 。在数学中这叫做左闭又开集合,大家可以理解为[start, end)
print(s[0:5]) # 从索引开头位置进行切片, 切到5结束
print(s[:5]) # 如果start是从开头进行切片, 可以省略
print(s[6:]) # 从start开始(6)一直截取到末尾
print(s[:]) #: 如果左右两端有空白. 表示开头或者结尾
print(s[-3:-1]) # 目前还是只能从左往右切片

这里特意书写一个错误写法

print(s[-1:-3])  # 没结果, 这里是坑!!!!还不会报错!

这种写法目前是错误的。这就引出了另一个参数——step步长

在没有步长step的参数时,切片只能从左往右进行

切片: step步长

s = "我爱你"
#可以给切片添加步长来控制切片的方向
print(s[::-1]) # -表示从右往左

结果是

你爱我

语法: s[start:end:step] 从start切到end, 每step个元素出来一个元素

步长:正数代表从左向右数,负数代表从右向左数。值代表每一步的间隔。

先看步长的正负符号,确定左右方向,再看步长的绝对值进行取值。

举例:

s="abcdefgh"
print(s[::2])
print(s[::-2])

第一个是+2。因此是从左往右数,步长为2,也就是每2位取1位(取的是第一位,但是正负值决定第一位的方向)。这里是从左往右数,第一位分别是aceg

第二个是-2。因此是从右往左数,步长为2,也就是每2位取1位(取的是第一位,但是正负值决定第一位的方向)。这里是从右往左数,第一位分别是hfdb

结果为

aceg
hfdb

举例:26个英文字母,

s = "abcdefghijklmnopqrstuvwxyz"
print(s[2:11:3])
print(s[2:26:3])
print(s[2::3])
print(s[-1:-10:-3])
print(s[:-10:-3])
print(s[:-26:-1])
print(s[::-1])

结果:大家好好体会其中结果的差异和左开右闭的区别

cfi
cfilorux
cfilorux
zwt
zwt
zyxwvutsrqponmlkjihgfedcb
zyxwvutsrqponmlkjihgfedcba

这个end取不到其实挺郁闷的,所以要想取到最后一位,一定要在end处写成空

Python——第二章:字符串操作——索引和切片的更多相关文章

  1. 【原创】Python第二章——字符串

    字符串是一个字符序列,(提醒:序列是Python的一个重要的关键词),其中存放UNICODE字符.Python中的字符串是不可变的(immutable),即对字符串执行操作时,总是产生一个新的字符串而 ...

  2. 简学Python第二章__巧学数据结构文件操作

    #cnblogs_post_body h2 { background: linear-gradient(to bottom, #18c0ff 0%,#0c7eff 100%); color: #fff ...

  3. Python 全栈开发:str(字符串)索引和切片

    str(字符串)索引和切片 str(字符串)索引: #计算机中大部分索引以0为开始 s = 'mylovepython' s1 = s[0] s2 = s[4] s3 = s[-1] print(s1 ...

  4. 一句python,一句R︱python中的字符串操作、中文乱码、NaN情况

    一句python,一句R︱python中的字符串操作.中文乱码.NaN情况 先学了R,最近刚刚上手Python,所以想着将python和R结合起来互相对比来更好理解python.最好就是一句pytho ...

  5. 【Python自动化Excel】Python与pandas字符串操作

    Python之所以能够成为流行的数据分析语言,有一部分原因在于其简洁易用的字符串处理能力. Python的字符串对象封装了很多开箱即用的内置方法,处理单个字符串时十分方便:对于Excel.csv等表格 ...

  6. 数据类型&字符串得索引及切片

    一:数据类型 1):int     1,2,3用于计算 2):bool    ture  false  用于判断,也可做为if的条件 3):str     用引号引起来的都是str 存储少量数据,进行 ...

  7. python入门7 字符串操作

    字符串操作 #coding:utf-8 #/usr/bin/python """ 2018-11-03 dinghanhua 字符串操作 ""&quo ...

  8. Python中的字符串操作总结(Python3.6.1版本)

    Python中的字符串操作(Python3.6.1版本) (1)切片操作: str1="hello world!" str1[1:3] <=> 'el'(左闭右开:即是 ...

  9. Python 第二章-列表和元组

    第二章-列表和元组 2.0      在Python中,最基本的数据结构是序列(sequence).序列中的每个元素被分配一个序列号-即元素的位置, 也称为索引.第一个索引是0,第二个是1,以此类推. ...

  10. python第二章:数据类型--小白博客

    标准数据类型 Python3 中有六个标准的数据类型: Number(数字) String(字符串) List(列表) Tuple(元组) Set(集合) Dictionary(字典) Python3 ...

随机推荐

  1. 制作一个内部的 zabbix-agent 快速部署脚本

    下载官方的基础 agent 部署包 官方地址:点击到达 curl -O https://cdn.zabbix.com/zabbix/binaries/stable/5.0/5.0.36/zabbix_ ...

  2. ​python爬虫——爬虫伪装和反“反爬”

    前言爬虫伪装和反"反爬"是在爬虫领域中非常重要的话题.伪装可以让你的爬虫看起来更像普通的浏览器或者应用程序,从而减少被服务器封禁的风险:反"反爬"则是应对服务器 ...

  3. CF 下分记录

    7.27 edu152 \(+173=2048\) B 没细看数据范围 WA 了一次 D 没判 \(i-1=0\) WA 了一次 E. Max to the Right of Min 考虑增大右端点, ...

  4. 前端设计模式:工厂模式(Factory)

    00.基础概念 工厂模式封装了对象的创建new(),将消费者(使用)和生产者(实现)解耦. 工厂是干什么的?工厂是生产标准规格的商品的地方,建好工厂,投入原料(参数),产出特定规格的产品.so,工厂模 ...

  5. Python开发之Django框架

    一. Django框架 01.网络软件开发架构演变过程 02.HTTP协议讲解 03.web应用与框架介绍及手撸web框架 04.Django入门项目创建与必会三板斧 05.Django静态文件配置与 ...

  6. oj练习题程序编程题

    打印图形Description按要求输出由*组成的图案Input无需输入Output输出下面由"组成的图案卡 11 print('*') print("***") pri ...

  7. P4032 [Code+#2] 火锅盛宴

    prologue 树状数组推荐写法,感谢巨佬樱雪喵的教学. inline int lowbit(int x) { return x & -x; } inline void add(int x, ...

  8. C#计数排序算法

    前言 计数排序是一种非比较性的排序算法,适用于排序一定范围内的整数.它的基本思想是通过统计每个元素的出现次数,然后根据元素的大小依次输出排序结果. 实现原理 首先找出待排序数组中的最大值max和最小值 ...

  9. 挑战程序设计竞赛 2.2 poj 3040 Allowance 贪心

    https://vjudge.csgrandeur.cn/problem/POJ-3040 /* 作为创纪录的牛奶产量的奖励,约翰决定每周给贝西一小笔零用钱.FJ拥有一组N(1 <= N < ...

  10. kafka和zookeeper安装

    一.Kafka简介 Kafka 被称为下一代分布式消息系统,是非营利性组织ASF(Apache Software Foundation,简称为ASF)基金会中的一个开源项目,比如HTTP Server ...