字符串的相关操作

1.字符串的拼接

 strvar = "vegeta"+"ble"
print(strvar) # vegetable

2.字符串的重复

strvar = "good" * 3

3.字符串的跨行拼接 使用\

 strvar = "abcdefghijklmnopqrst" \
"uvwxyz"
print(strvar) # abcdefghijklmnopqrstuvwxyz

4.字符串的索引

 '''
正向索引 0123
strvar = "1234"
逆向索引 -4-3-2-1
'''

5.字符串的切片

注意: [开始索引:结束索引:间隔值]

res = strvar[::2] # 0 2 4 6 8..... 从开始截取到最后

res = strvar[::-1] # -1 -2 -3 -4 -5 -6..... 从结尾截取到最前

 # [开始索引:]  从开始索引截取到字符串的最后
strvar="红橙黄绿青蓝紫"
res = strvar[4:]
print(res) # [:结束索引] 从开头截取到结束索引之前(结束索引-1)
res = strvar[:5]
print(res) # [开始索引:结束索引] 从开始索引截取到结束索引之前(结束索引-1)
res = strvar[1:3]
print(res) # [开始索引:结束索引:间隔值] 从开始索引截取到结束索引之前按照指定的间隔截取字符
# 正序
res = strvar[::2] # 0 2 4 6 8..... 从开始截取到最后
print(res)
# 倒序
res = strvar[::-1] # -1 -2 -3 -4 -5 -6.....
print(res) # [:]或[::] 截取所有字符串
res1 = strvar[:]
res2 = strvar[::]
print(res1)
print(res2)

-------------------------------------------------------------------------

字符串的方法

常规:

 # capicalize 字符串首字母大写
strvar ="what is your name"
res = strvar.capitalize()
print(res) # What is your name # title 每个单词的首字母大写
strvar ="what is your name"
res = strvar.title()
print(res) # What Is Your Name # upper 将所有字母变成大写
strvar ="what is your name"
res = strvar.upper()
print(res) # WHAT IS YOUR NAME # lower 将所有字母变成小写
strvar = "HELLO KITTY"
res = strvar.lower()
print(res) # hello kitty # swapcase 大小写互换
strvar = "AAAAbbbb"
res = strvar.lower()
print(res) # aaaaBBBB # len 计算字符串的长度
strvar = "AAAAbbbb"
res = len(strvar)
print(res) # # count 统计字符串中某个元素的数量
strvar = "AAAAbbbb"
res = strvar.count("A")
print(res) # # find 查找某个字符串第一次出现的索引位置(推荐使用)
'''字符串.find("字符",开始索引,结束索引) 如果找不到直接返回-1'''
strvar = "abcdefabc"
res = strvar.find("a") #
res = strvar.find("a",2) #
res = strvar.find("d",2,5) # 3 结束索引本身取不到,取到之前的那个值
print(res) # index与find功能相同,find找不到返回-1,index找不到数据会报错
res = strvar.index("d",6,8) # error # startswith 判断是否以某个字符或字符串为开头
'''
字符串.startswith("字符串",开始索引,结束索引)
如果存在返回True,否则返回False
'''
strvar = "abcdefg"
res = strvar.startswith("a") # True
res = strvar.startswith("b",1) # True
res = strvar.startswith("c",2,5) # True 2 3 4
print(res) # endswith 判断是否以某个字符或字符串结尾
res = strvar.endswith("g") # True
res = strvar.endswith("g",-6) # True
res = strvar.endswith("d",-6,-3) # True
print(res)

is系列:

 # isupper 判断字符串是否都是大写字母
strvar = "ABCD"
res = strvar.isupper()
print(res) # True # islower 判断字符串是否都是小写字母
strvar = "abcd123"
res = strvar.isupper()
print(res) # True # isdecimal 检测字符串是否以数字组成 必须是纯数字
strvar = ""
strvar = "123.4567"
res = strvar.isdecimal()
print(res)

填充/去除:

 strvar = "abc"
# ljust 填充字符串,原字符居左(默认填充空格)
res = strvar.ljust(10)
print(res)
# rjust 填充字符串,原字符居右(默认填充空格)
res = strvar.rjust(10)
print(res)
# center 填充字符串,原字符居中(默认填充空格)
res = strvar.center(10) # 原字符串长度+填充字符长度=10,默认填充空格
res = strvar.center(10,"#")
print(res) # strip 默认去掉首尾两边的空白符
strvar = "####abcd####"
res = strvar.strip("#") # 指定去掉的符号
print(res)
# rstrip 去掉右边某个字符
print(strvar.rstrip("#"))
# rstrip 去掉左边某个字符
print(strvar.lstrip("#"))

字符串最重要的三个方法:

 # split 按某字符将字符串分割成列表(默认字符是空格)
strvar = "one two three four"
lst = strvar.split()
strvar= "one-two-three-four"
lst = strvar.split("-") # 从左到右分隔
lst = strvar.rsplit("-",2) # 从右到左分隔,可以指定分隔的次数
print(lst) # join 按某字符将列表拼接成字符串
lst = ['five','six','seven','eight']
res = "-".join(lst)
print(res) # replace 替换,把字符串的旧字符替换成新字符
'''replace(要替换的字符,替换成什么,替换的次数)'''
strvar = "这只小狗真可爱,真呀真可爱"
res = strvar.replace("可爱","有趣")
res = strvar.replace("可爱","有趣",1)
print(res)

-----------------------------------------------------------------------------------

字符串的格式化:

# 1.顺序传参
strvar = "{}喜欢吃{}".format("我","苹果")
print(strvar) # 2.索引传参
strvar = "{1}喜欢吃{0}".format("苹果","我")
print(strvar) # 3.关键字传参
strvar = "{thing2}喜欢吃{thing1}".format(thing1="苹果",thing2="我")
print(strvar) # 4.容器类型数据(列表或元组传参)
strvar = "{0[2]}喜欢吃{1[1]}".format(["小红","小明","小刚"],("苹果","香蕉","菠萝"))
print(strvar) # format当中,不能使用逆向下标,不识别
strvar = "{0[-1]}喜欢吃{1[-1]}".format(["小红","小明","小刚"],("苹果","香蕉","菠萝"))
print(strvar) # 如果容器是字典
strvar="{group1[xiaoming]}喜欢吃{group2[0]}".format(group1={"xiaohong":"小红","xiaoming":"小明"},group2=("香蕉","苹果"))
print(strvar)

format 填充符号的使用和转换成特殊符号的使用:

 #  format的填充符号的使用(^ < >)
"""
^ 原字符串居中
< 原字符串居左
> 原字符串居右 {who:*^10}
who:关键字参数
*:要填充的字符
^:原字符串居中
10:总长度=原字符串长度+填充字符长度
""" strvar = "{who:*^10}在{where:>>10}吃{what:!<10}".format(who="我",where="别人家",what="苹果")
print(strvar) # 进制转换成特殊符号的使用( :d :f :s :,) # :d 整型占位符 要求类型必须是整型
strvar = "我吃了{:d}个苹果".format(3) #3.5 error
# :2d 占用两位,不够拿空格来补,默认居右
strvar = "我吃了{:2d}个苹果".format(3)
# < > ^ 调整对应的位置
strvar = "我吃了{:<2d}个苹果".format(3)
strvar = "我吃了{:<3d}个苹果".format(3)
print(strvar) # :f 浮点型占位符(要求类型必须是浮点型)
strvar = "我的成绩是{:f}".format(96.25)
# .2f 小数点保留两位
strvar = "我的成绩是{:.2f}".format(96.25)
print(strvar) # :s 字符串占位符 (要求类型必须是字符串)
strvar = "{:s}".format("啦啦啦啦啦")
print(strvar) # :, 金钱占位符
strvar = "{:,}".format(3256224583)
print(strvar) # 综合案例
strvar = "我今年{:d}岁,我的语文分数是{:.1f},我心情{:s}".format(23,98.65,"非常好")
print(strvar)

列表的操作:

# ### 列表的相关操作

# 1.列表的拼接(同元组)
lst1 = [1,2,3]
lst2 = [4,5,6,7,8,8]
res = lst1 + lst2
print(res) # 2.列表的重复(同元组)
res = lst1 * 6
print(res) # 3.列表的切片(同元组)
# 语法:列表[::] 完整格式:[开始索引:结束索引:间隔值]
# (1)[开始索引:] 从开始索引截取到列表的最后
# (2)[:结束索引] 从开头截取到结束索引之前(结束索引-1)
# (3)[开始索引:结束索引] 从开始索引截取到结束索引之前(结束索引-1)
# (4)[开始索引:结束索引:间隔值] 从开始索引截取到结束索引之前按照指定的间隔截取列表元素值
# (5)[:]或[::] 截取所有列表 lst=["Alan","Cat","Sun","Wuming","Huahai","Mc","Orange","Rxy"]
# (1) [开始索引:] 从开始索引截取到列表的最后
res = lst[3:]
print(res)
# (2)[:结束索引] 从开头截取到结束索引之前(结束索引-1)
res = lst[:6]
print(res)
# (3)[开始索引:结束索引] 从开始索引截取到结束索引之前(结束索引-1)
res = lst[3:6]
print(res)
# (4)[开始索引:结束索引:间隔值] 从开始索引截取到结束索引之前按照指定的间隔截取列表元素值
# 正向截取
res = lst[::2]
print(res)
# 逆向截取
res = lst[::-2]
print(res)
# (5)[:]或[::] 截取所有列表
res = lst[:]
res = lst[::]
print(res) # 4.列表的获取(同元组)
# 0 1 2 3 4 5 6 7
lst=["Alan","Cat","Sun","Wuming","Huahai","Mc","Orange","Rxy"]
# -8 -7 -6 -5 -4 -3 -2 -1 res = lst[6]
res = lst[-2]
print(res) # 5.列表的修改(可切片)
'''
要求的数据类型是:可迭代性数据(容器类型数据,range对象,迭代器)
''' lst=["Alan","Cat","Sun","Wuming","Huahai","Mc","Orange","Rxy"]
# 利用切片可以一次修改多个元素,没有个数上的限制
lst[1:3] = "abcdef"
print(lst) # 切片配合步长,切出多少个元素,修改多少个元素
lst=["Alan","Cat","Sun","Wuming","Huahai","Mc","Orange","Rxy"]
res = lst[::2] # Alan Sun Huahai Orange
lst[::2] = range(1,5)
print(lst) # 6.列表的删除
lst=["Alan","Cat","Sun","Wuming","Huahai","Mc","Orange","Rxy"]
del lst[-1]
print(lst) # 删除的是变量res本身,不是列表中的元素
'''
res = lst[-1]
del res
print(lst)
''' # del lst[:2]
del lst[::3] #0 3 6 9 12...
print(lst) # 元组中的列表,里面的元素可以修改;
tup = (1,2,3,[4,5,6,(7,8,9)])
tup[-1][1] = 66
print(tup)

day7:字符串的操作/方法&字符串的格式化format&列表的操作的更多相关文章

  1. Python自动化开发(三):循环次数控制、常用数据类型、字符串格式化、列表常用操作、列表的后续操作

    计数器的作用可以在死循环中,符合条件的情况下做自动退出中断 #!/usr/bin/env python # _*_ coding: utf-8 _*_ # @Time : 2017/3/14 11:2 ...

  2. String常用使用方法,1.创建string的常用3+1种方式,2.引用类型使用==比较地址值,3.String当中获取相关的常用方法,4.字符串的截取方法,5.String转换常用方法,6.切割字符串----java

    一个知识点使用一个代码块方便查看 1.创建string的常用3+1种方式 /* 创建string的常用3+1种方式 三种构造方法 public String():创建一个空字符串,不含有任何内容: p ...

  3. Python 基础之字符串操作,函数及格式化format

    一.字符串的相关操作 1.字符串的拼接 + strvar1 = "我爱你,"strvar2 = "亲爱的姑凉"res = strvar1 + strvar2pr ...

  4. 7.python字符串-内置方法分析

    上篇对python中的字符串内置方法进行了列举和简单说明,但这些方法太多,逐一背下效率实在太低,下面我来对这些方法按照其功能进行总结: 1.字母大小写相关(中文无效) 1.1 S.upper() -& ...

  5. 6.python字符串-内置方法列举

    所谓内置方法,就是凡是字符串都能用的方法,这个方法在创建字符串的类中,下面是总结: 首先,我们要学习一个获取帮助的内置函数 help(对象) ,对象可以是一个我们创建出来的,也可以是创建对象的那个类, ...

  6. python字符串-内置方法用法分析

    1.字母大小写相关(中文无效) 1.1 S.upper() -> string 返回一个字母全部大写的副本

  7. python笔记二(数据类型和变量、编码方式、字符串的编码、字符串的格式化)

    一.数据类型 python可以直接处理的数据类型有:整数.浮点数.字符串.布尔值.空值. 整数 浮点数 字符串:双引号内嵌套单引号,可以输出 i'm ok. 也可以用\来实现,\n 换行 \t tab ...

  8. 字符串格式的方法%s、format和python3.6新特性f-string和类型注解

    一.%s msg = '我叫%s,今年%s,性别%s' %('帅哥',18,'男') print(msg) # 我叫帅哥,今年18,性别男 二.format # 三种方式: # 第一种:按顺序接收参数 ...

  9. python字符串内置方法

    网上已经有很多,自己操作一遍,加深印象. dir dir会返回一个内置方法与属性列表,用字符串'a,b,cdefg'测试一下 dir('a,b,cdefg') 得到一个列表 ['__add__', ' ...

随机推荐

  1. win10 VirtualBox无法打开,COM对象创建失败

    https://blog.csdn.net/txwtech/article/details/101900464 VirtualBox无法打开,打开后提示创建COM对象失败: 被召者 RC: E_NOI ...

  2. 看了Java的Class的源码,我自闭了

    java源码之Class ​ 源码的重要性不言而喻,虽然枯燥,但是也有拍案叫绝.这是我的源码系列第二弹,后续还会一直更新,欢迎交流.String源码可以看我的Java源码之String,如有不足,希望 ...

  3. Docker Dockerfile 指令详解与实战案例

    Dockerfile介绍及常用指令,包括FROM,RUN,还提及了 COPY,ADD,EXPOSE,WORKDIR等,其实 Dockerfile 功能很强大,它提供了十多个指令. Dockerfile ...

  4. 提交代码到gitbub.com

    提交代码到gitbub.com touch README.md //新建说明文件 git init //在当前项目目录中生成本地git管理,并建立一个隐藏.git目录 git add . //添加当前 ...

  5. Jmeter之仿真高并发测试-集合点

    场景: 大家在使用Jmeter测试的时候应该发现了, (1)线程启动了就会直接发送测试请求:--如果要模拟在一瞬间高并发量测试的时候,需要调高线程数量,这很耗测试机器的性能,往往无法支持较大的并发数, ...

  6. xutils工具上传日志文件--使用https并且带进度条显示

    package logback.ecmapplication.cetcs.com.myapplication; import android.app.Activity; import android. ...

  7. 主机Redis服务迁移到现有Docker Overlay环境

    记录最后一次对中型2C企业级项目的容器化改造 hello, 好久不见,之前文章记录了一个实战的2C分布式项目的改造过程,结果如下: 其中Redis并未完成容器化改造(目前是主机单点),本文记录将Red ...

  8. ceph bluestore与 filestore 数据存放的区别

    一. filestore 对象所在的PG以文件方式放在xfs文件中 1 查看所有的osd硬盘,跟其他linux其他硬盘一样,被挂载一个目录中. [root@hz-storage1 ~]# df -h ...

  9. Spring WebFlux 01 (原理及使用场景)

    一.什么是 Spring WebFlux 好多人以为Spring WebFlux就是Spring MVC的升级版,其实不然,那到底什么是Spring WebFlux呢,首先就要搞清楚Spring We ...

  10. cron表达式详解,cron表达式写法,cron表达式例子

    (cron = "* * * * * *") cron表达式格式:{秒数} {分钟} {小时} {日期} {月份} {星期} {年份(可为空)}例  "0 0 12 ? ...