python基础学习笔记——字符串方法
索引和切片:
索引:取出数组s中第3个元素:x=s[2]
切片:用极少的代码将数组元素按需处理的一种方法。切片最少有1个参数,最多有3个参数,演示如下:
我们假设下面所用的数组声明为array=[2,3,4,5,6]
1个参数:
- array[1:]——从下标为1的元素选择到最后一个元素,返回 [4,5,6]
- array[:3]——从下标为0的元素选择到下标为2的元素,不包括下标3的元素,返回[2,3,4]
- array[::2]——从下标为0的元素开始,最后一个%2为0的下标对应的那个元素为止
说明:如果前2个参数中有任何一个为负数,那么,分2种情况,如果负数 小于 -n,那么就给负数归0,如果仅仅在-n~0,那么就将这个数理解为0~n-1之间转圈圈就可以了。负数转圈的算法,很简单,就不说了
2个参数:
- array[1:-2]——从下标1开始,到下标(n-1)之前的所有元素,返回[3,4]
- array[-2:3]——当第一个参数经过计算大于等于后一个,返回空数组[]
- array[-13:3]——参见上面第一个说明,第一个参数归0,返回[2,3,4]
3个参数
- [::-1]——从头到尾,将数组反转,返回[6,5,4,3,2]
- [-1::-2]——从尾到头,每个一个元素,选择一个元素,返回[6,4,2]
说明:没有第3个参数时,切片只能从左向右,此时若第一个参数大于等于第二个参数,则返回空数组
说明:第三个参数<0时,切片方向可以被改变,此时没有上述限制
练习
s = 'Python最NB'
#获取s字符串中前3个内容
print(s[:])
#获取s字符串中第3个内容
print(s[])
#获取s字符串中后3个内容
print(s[-:])
#获取s字符串中第3个到第8个
print(s[:])
#获取s字符串中第2个到最后一个
print(s[:])
#获取s字符串中第1, , 5个内容
print(s[::])
#获取s字符串中第2, , 6个内容
print(s[::])
#获取s字符串中所有内容
print(s[::])
#获取s字符串中第4个到最后一个, 每2个取一个
print(s[::])
#获取s字符串中倒数第5个到最开始, 每3个取一个
print(s[-::-])
字符串全部大写:
name = 'alex'
new_name = name.upper()
print(new_name)
# 把这个字符串全部变成大写
字符串全部小写:
name = 'ALEX'
new_name = name.lower()
print(new_name)
# 把这个字符串全部变成小写
首字母大写:
name = 'alexdasx'
new_name = name.capitalize()
print(new_name)
# 首字母大写
判断开头:返回True/False
name = 'alex'
new_name = name.startswith('a')
if new_name:
print('是以a开头')
# 判断这是不是字符串是不是以a开头的
判断结尾:返回True/False
name = 'alex'
new_name = name.endswith('x')
if new_name:
print('是以x结尾')
# 判断这是不是字符串是不是以x结尾的
统计出现的次数:
name = 'alexdasx'
new_name = name.count('a')
print(new_name)
# 统计name这个字符串中a出现的次数
查找下标:
name = 'alexdasx'
new_name = name.find('e')
print(new_name)
# 通过元素查找下标,不存在就返回-
查找下标:
name = 'alexdasx'
new_name = name.index('e')
print(new_name)
# 通过元素查找下标,不存在就报错
字符串替换:
name = 'alexdasx'
new_name = name.replace('sx','sd')
print(new_name)
# 替换字符串中的内容
去除头尾两边的空格:
name = ' alexdasx '
new_name = name.strip()
print(new_name)
# 去除头尾俩遍的空格和换行符
分割:
name = 'alexdasx'
new_name = name.split("x")
print(new_name)
#通过x将字符串name进行切割
字符串格式化:
name = 'alexdasx{}'
new_name = name.format('说的对')
print(new_name)
# 字符串格式化
判断是不是阿拉伯数字,返回的是布尔值:
name = 'alexdasx'
new_name = name.isdigit()
print(new_name)
# 判断是不是阿拉伯数字,返回结果是布尔值
判断是不是数字和字母,返回的是布尔值:
name = 'alex7dasx'
new_name = name.isalnum()
print(new_name)
# 判断是不是字母和数字,返回结果是布尔值
判断是不是纯字母及汉字,返回的是布尔值:
name = 'alexdasx'
new_name = name.isalpha()
print(new_name)
# 判断是不是字母和数字,返回结果是布尔值
判断是不是大写字母,返回的是布尔值:
name = 'alexdasx'
new_name = name.isupper()
print(new_name)
# 判断是不是大写字母,返回结果是布尔值
判断是不是小写字母,返回的是布尔值:
name = 'alexdasx'
new_name = name.islower()
print(new_name)
# 判断是不是小写字母,返回结果是布尔值
python基础学习笔记——字符串方法的更多相关文章
- 0003.5-20180422-自动化第四章-python基础学习笔记--脚本
0003.5-20180422-自动化第四章-python基础学习笔记--脚本 1-shopping """ v = [ {"name": " ...
- Python基础学习笔记(八)常用字典内置函数和方法
参考资料: 1. <Python基础教程> 2. http://www.runoob.com/python/python-dictionary.html 3. http://www.lia ...
- Python基础学习笔记(五)常用字符串内建函数
参考资料: 1. <Python基础教程> 2. http://www.runoob.com/python/python-strings.html 3. http://www.liaoxu ...
- Python基础学习笔记(六)常用列表操作函数和方法
参考资料: 1. <Python基础教程> 2. http://www.runoob.com/python/python-lists.html 3. http://www.liaoxuef ...
- Python 基础学习笔记(超详细版)
1.变量 python中变量很简单,不需要指定数据类型,直接使用等号定义就好.python变量里面存的是内存地址,也就是这个值存在内存里面的哪个地方,如果再把这个变量赋值给另一个变量,新的变量通过之前 ...
- python 基础学习笔记(1)
声明: 本人是在校学生,自学python,也是刚刚开始学习,写博客纯属为了让自己整理知识点和关键内容,当然也希望可以通过我都博客来提醒一些零基础学习python的人们.若有什么不对,请大家及时指出, ...
- python基础学习笔记3
特殊方法与多范式 Python一切皆对象,但同时,Python还是一个多范式语言(multi-paradigm),你不仅可以使用面向对象的方式来编写程序,还可以用面向过程的方式来编写相同功能的程序 ...
- Python基础学习笔记(十一)函数、模块与包
参考资料: 1. <Python基础教程> 2. http://www.runoob.com/python/python-functions.html 3. http://www.liao ...
- Python基础学习笔记(十)日期Calendar和时间Timer
参考资料: 1. <Python基础教程> 2. http://www.runoob.com/python/python-date-time.html 3. http://www.liao ...
随机推荐
- eclipse查看jar包源文件
话不多说上链接 https://www.cnblogs.com/1995hxt/p/5252098.html这里介绍了完整的流程,亲自试过,可以的! 以防以后要用的时候找不到文件的下载地址,所以就先在 ...
- (办公)ssm发送邮件
1.添加jar包 <!-- Javamail API --> <dependency> <groupId>javax.mail</groupId> &l ...
- Spring 计划任务
计划任务在Spring 中实现变得非常简单: 1. 首先通过在配置类中注解 @EnableScheduling 来开启对计划任务的支持 2. 然后在你执行任务的方法上注解 @Scheduled 来声明 ...
- 关于原生javascript的this,this真是个强大的东东
最近一直坐在东钿微信服务平台,上上级领导提出一个要求,就是微信分享. 因为首页是一个tab切换页,领导想在分享的时候区分上产调还是评估.我研究了很久很久,一直都是失败,今天领导又问了.于是我就向我们老 ...
- cssText在js中写样式表兼容全部
oDiv.style.cssText="width:100px;height:200px;";是前面的升级版(oDiv.style.width='200px';) <styl ...
- VC++堆栈大小设置
VC++堆栈默认大小是1M,如果你分配大于1M的堆,一般会出异常,这里你要把堆调大些,下面是VC++6.0与VC++2010的设置方法 VC++6.0: 工程==>设置==>“连接”界面, ...
- winform ListView创建columnHeader的方法
using System; using System.Windows.Forms; using System.Drawing; using System.Collections; namespace ...
- URAL 1057 Amount of Degrees (数位DP,入门)
题意: 求给定区间[X,Y]中满足下列条件的整数个数:这个数恰好等于K个互不相等的,B的整数次幂之和.例如,设X=15,Y=20,K=2,B=2,则有且仅有下列三个数满足了要求: 17 = 24+2 ...
- UVA 1608 Non-boring sequence 不无聊的序列(分治,中途相遇)
题意:给你一个长度为n序列,如果这个任意连续子序列的中都有至少出现一次的元素,那么就称这个序列是不无聊的,判断这个序列是不是无聊的. 先预处理出每个元素之前和之后相同元素出现的位置,就可以在O(1)的 ...
- Dungeon Master的两种方法
Description You are trapped in a 3D dungeon and need to find the quickest way out! The dungeon is co ...