python 跨行字符串_python字符串结束的标志_python-7-字符串的操作_方法_format_列表的操作...

字符串

1. 字符串的相关操作

(1)字符串的拼接

(2)字符串的重复

(3)字符串跨行拼接

(4)字符串的索引

(5)字符串的切片:

语法 => 字符串[::] 完整格式:[开始索引:结束索引:间隔值]

(1)[开始索引:] 从开始索引截取到字符串的最后

(2)[:结束索引] 从开头截取到结束索引之前(结束索引-1)

(3)[开始索引:结束索引] 从开始索引截取到结束索引之前(结束索引-1)

(4)[开始索引:结束索引:间隔值] 从开始索引截取到结束索引之前按照指定的间隔截取字符

(5)[:]或[::] 截取所有字符串

1. 字符串的拼接+

strvar = "今天是" + "星期一"

strvar = strvar + "今天非常开心"

strvar += "今天非常开心"

print(strvar)

2. 字符串的重复*

strvar = "重要的事情说三遍" * 3

print(strvar)

3. 字符串的拼接\

strvar = "administrator" \

"请叫我longge"

print(strvar)

4. 字符串的索引

# 正向索引 0123

strvar = "1234"

# 逆向索引-4-3-2-1

5. 字符串的切片 (切片 <=> 截取)[开始索引 :] 从开头索引截取到字符串的最后

strvar = "黑夜给了我黑色的眼睛,但是我却用翻白眼"

res = strvar[11:]

print(res)

[: 结束索引] 从开头截取到结束索引之前(结束索引-1)

strvar = "黑夜给了我黑色的眼睛,但是我却用翻白眼"

res = strvar[:10]

print(res)

[开始索引 : 结束索引] 从开始索引截取到结束索引之前(结束索引-1)

strvar = "黑夜给了我黑色的眼睛,但是我却用翻白眼"

res = strvar[8:10]

print(res)

[开始索引 : 结束索引 : 间隔值] 从开始索引截取到结束索引之前按照指定的间隔截取字符

strvar = "黑夜给了我黑色的眼睛,但是我却用翻白眼" # 正序 res = strvar[::3] # 0 3 6 9 12 15 ... 从开始截取到最后 print(res) # 倒序 res = strvar[::-1] # -1 -2 -3 -4 -5 -6 -7 ... print(res)

[ : ]或[ : : ] 截取索引字符串

strvar = "黑夜给了我黑色的眼睛,但是我却用翻白眼" res = strvar[:] res = strvar[::] print(res)

2. 字符串的方法

字符串相关函数

captalize字符串首字母大写 title每个单词的首字母大写 upper将所有单词字母大写 lower将所有单词字母小写 swapcase大小写互换 len计算字符串的长度 count统计字符串中某个元素的数量 find查找某个字符串第一次出现的索引位置 index与find功能相同 find找不到返回-1,index找不到数据直接报错。 startswith判断是否以某个字符或者字符串为开头 endswith判断是否以某个字符或者字符串结尾

*capitalize 字符串首字母大写

strvar = "how old are you" res = strvar.capitalize() print(res)

*title 每个单词的首字母大写

strvar = "how old are you" res = strvar.title() print(res)

*upper 将所有字母变大写

strvar = "to be or not to be that is a question" res = strvar.upper() print(res)

*lower 将所有字母变小写

strvar = "TO BE OR NOT TO BE THAT IS A QUESTION" res = strvar.lower() print(res)

*swapcase 大小写互换

strvar = "I Love You" res = strvar.swapcase() print(res)

*len 计算字符串的长度

strvar = "asdfsdfefc" res = len(strvar) print(res)

*count 统计字符串中某个元素的数量

strvar = "asdefsfgsf" res = strvar.count("s") print(res)

*find 查找某个字符串第一次出现的所有位置 (推荐)

"""字符串.find("字符",开始索引,结束索引) 如果找不到数据直接返回-1"""

strvar = "oh Father this is my Favorite dog" res = strvar.find("F") res = strvar.find("F",4) res = strvar.find("Fav",5,10) # 找不到直接返回-1 print(res)

*index 与 find 功能相同,find找不到数据返回-1,index找不到数据直接报错

strvar = "oh Father this is my Favorite dog" res = strvar.find("Fav",5,10) # error

*startswith 判断是否以某个字符或字符串为开头

"""字符串,startswith("字符",开始索引,结束索引) 如果存在返回True,否则返回False"""

strvar = "oh Father this is my Favorite dog" res = strvar.startswith("oh") res = strvar.startswith("this",10) res = strvar.startswith("this",10,13) # 10 11 12 print(res)

*endswith 判断是否以某个字符或字符串结尾

strvar = "oh Father this is my Favorite dog" res = strvar.endswith("dog") res = strvar.endswith("rate",-12) res = strvar.endswith("rate,-12,-4") print(res)

isupper判断字符串是否都是大写字母

islower判断字符串是否都是小写字母

isdecimal 检测字符串是否以数字组成,必须是纯数字

istitle判断字符串是否每个单词都是首字母大写

<<<>>

isalnum判断字符串是否是由数字、字母、汉字组成

isalpha判断字符串是否是否由字母和文字组成

isdigit判断字符串是数字组成接受二进制字节流

isnumeric 检测字符串是否以数字组成,接受中文“四”

isspace 判断字符串是否由空白符组成

*isupper 判断字符串是否都是大写字母

```python

strvar = "ABCDE" res = strvar.isupper() print(res)

```

```

*islower 判断字符串是否都是小写字母 python strvar = "asdvs1325" res = strvar.islower() print(res)

*isdecimal 检测字符串是否以纯数字组成 (必须是纯数字) python strvar = "123456" strvar = "123456.984561" res = strvar.isdecimal() print(res)

split 按某字符将字符串分割成列表(默认字符是空格)

join 按某字符将列表拼接成字符串(容器类型都可以)

replace 把字符串的就字符换成新字符

ljust 填充字符串,原字符居左(默认填充空格)

rjust 填充字符串,原字符居右(默认填充空格)

center 填充字符串,原字符串居中(默认填充空格)

strip 默认去掉收尾两边的空白符

rstrip 去掉右边某个字符

lsstrip 去掉左边某个字符

splitlines 按换行来进行切分(\n)

zfill 填充字符串(默认填充0,原字符串右对齐)

*ljust 填充字符串,原字符串居左 (默认填充空格)

```python

strvar = "abc" res = strvar.ljust(10) print(res)

```

```

*rjust 填充字符串,原字符串居右 (默认填充空格) python strvar = "abc" res = strvar.rjust(10,"&") print(res)

center 填充字符串,原字符串居中 (默认填充空格) ```python strvar = "abc" res = strvar.center(10) # 原字符串长度 + 填充字符长度 = 10 , 默认填充空格 res = strvar.center(10,"") print(res) ```

*strip 默认去掉首尾两边的空白符

```python

strvar = "@@@@ 周杰伦 @@@@@@@" res = strvar.strip() res = strvar.strip("@") # 指定去掉的符号 print(res) ```

*rstrip 去掉右边的某个字符 python strvar = "@@@@ 周杰伦 @@@@@@@" print( strvar.rstrip("@") )

*lstrip 去掉左边的某个字符 python strvar = "@@@@ 周杰伦 @@@@@@@" print( strvar.lstrip("@") )

*split 按某字符将字符串分割成列表 (默认字符是空格) python strvar = "you can you up no can no bb" lst = strvar.split() strvar = "you-can-you-up-no-can-no-bb" lst = strvar.split("-") # 从左到右分隔 lst = strvar.rsplit("-",2) # 从右到左分隔,可以指定分隔的次数 print(res)

*join 按某字符将列表拼接成字符串(容器类型都可) python lst = ["you","can","you","up","no","can","no","bb"] res = "-".join(lst) print(res)

*replace 替换 把字符串的旧字符换成新字符

"""replace(要替换的字符,替换成什么,替换的次数)""" python strvar = "可爱的小青蛙喜欢吃蚊子,有没有,有没有,还有没有" res = strvar.replace("有没有","真没有") res = strvar.replace("有没有","真没有",1) print(res)

2. 字符串的格式化

1. format 的使用方法

(1)顺序传参

(2)索引传参

(3)关键字传参

(4)容器类型(列表或元组)传参

(5)format的填充符号(^<>)

(6)进制转换等特殊符号的使用顺序传参

strvar = "{}向{}开了一枪".format("李志辉","明浩") print(strvar)

索引传参

strvar = "考试时{1},游戏时{0}".format("唯唯诺诺","全力出击") print(strvar)

关键字传参

strvar = "{who2}甩了一个飞吻,{who1}神魂颠倒".format(who1="刘彩霞",who2="马生平") print(strvar)

容器类型数据(列表或者元组、字典的话直接写键值,不需加引号)传参

strvar = "{1[2]}向{0[1]}抛了一个媚眼,鼻血直冒".format(["小红","小明","小花"],("小东","小美","小路")) print(strvar) # format当中,不能使用逆向下标,不识别 strvar = "{group2[0]}向{group1[2]}抛了一个媚眼,鼻血直冒".format(group1 = ["小红","小明","小花"],group2 = ("小东","小美","小路")) print(strvar) # 如果容器是字典,直接写键值,不需要加上引号 strvar = "{group1[xh]}向{group2[2]}抛了一个媚眼,鼻血直冒".format(group1 = {"xh":"小红","xm":"小明","xg":"小花"},group2 = ("小东","小美","小路")) print(strvar)

2. format 的填充符号的使用 (^ > < )

1. ^ 原字符串居中

2. > 原字符串居右

3. < 原字符串居左

who:*^10

who: 关键字参数

* : 要填充的字符

^ : 原字符串居中

10 : 总长度 = 原字符串长度 + 填充字符长度

strvar = "{who:*^10}在{where:>>10},{do:!<10}".format(who="刘星",where="酒店",do="睡觉")

print(strvar)

3.进制转换等特殊符号的使用 ( :d :f :s :, )%d支持输入的数据可以不是整型 strvar = "刘星昨天买了%d个花露水"%(100.5) print(strvar)#输出100 %-2d支持将输入的数据居左 strvar = "刘星昨天买了%-2d水"%(3) print(strvar) #要求:类型必须是整型 strvar = "刘星昨天买了{:d}个花露水".format(100) # 100.55 error print(strvar) # :2d 占用两位,不够两位拿空格来补,默认居右 strvar = "刘星昨天买了{:2d}个花露水".format(3) print(strvar) 使用format将输入数据居左 strvar = "刘星昨天买了{:<2d}个花露水".format(3) print(strvar) # < > ^ 调整对应的位置 strvar = "刘星昨天买了{:<2d}个花露水".format(3) strvar = "刘星昨天买了{:^3d}个花露水".format(3) print(strvar)

:f 浮点型占位符 (要求类型必须是浮点型)

strvar = "刘星毕业时,找工作的薪资是{:f}".format(2.5) print(strvar) # :.2f 小数点保留2位 strvar = "李旭毕业时,找工作的薪资是{:.2f}".format(2.5678) print(strvar)

:s 字符串占位符 (要求类型必须是字符串)

strvar = "{:s}".format("今天天气不错,万里无云") print(strvar)

:, 金钱占位符(参考英文:thousand,million,billion)

strvar = "{:,}".format(123456) print(strvar) # 综合案例 strvar = "同学们毕业后的平均年薪是{:.1f},可以在北京买{:d}套房,感觉非常{:s}".format(600000.681,1,"棒棒") print(strvar)

列表的操作

1、列表的相关操作

1. 列表的拼接 ( 同元组 )

lst1 = [1,2,3]

lst2 = [4,5,6,7]

res = lst1 + lst2

print(res)

2. 列表的重复 ( 同元组 )

lst1 = [1,2,3]

res = lst1 * 3

print(res)

3. 列表的切片 ( 同元组 )

语法 => 列表[::] 完整格式:[开始索引:结束索引:间隔值]

(1) [开始索引:] 从开始索引截取到列表的最后 python lst = ["吕洞宾","何仙姑","铁拐李","曹国舅","张果老","蓝采和","韩湘子","王文"] res = lst[2:] print(res)

(2) [:结束索引] 从开头截取到结束索引之前(结束索引-1) python lst = ["吕洞宾","何仙姑","铁拐李","曹国舅","张果老","蓝采和","韩湘子","王文"] res = lst[:4] print(res)

(3) [开始索引:结束索引] 从开始索引截取到结束索引之前(结束索引-1) python lst = ["吕洞宾","何仙姑","铁拐李","曹国舅","张果老","蓝采和","韩湘子","王文"] res = lst[3:7] print(res)

(4) [开始索引:结束索引:间隔值] 从开始索引截取到结束索引之前按照指定的间隔截取列表元素值 ```python lst = ["吕洞宾","何仙姑","铁拐李","曹国舅","张果老","蓝采和","韩湘子","王文"]

正向截取

res = lst[::2] # 0 2 4 6 8 ... print(res)

逆向截取

res = lst[::-2] # -1 -3 -5 -7 ... print(res)

```

```

(5) [:]或[::] 截取所有列表 python lst = ["吕洞宾","何仙姑","铁拐李","曹国舅","张果老","蓝采和","韩湘子","王文"] res = lst[:] res = lst[::] print(res)

4. 列表的获取 ( 同元组 )

# 0 1 2 3 4 5 6 7

lst = ["吕洞宾","何仙姑","铁拐李","曹国舅","张果老","蓝采和","韩湘子","王文"]

# -8 -7 -6 -5 -4 -3 -2 -1

res = lst[7]

res = lst[-1]

print(res)

5. 列表的修改 ( 可切片 )

"""要求的数据类型是:可迭代性数据 (容器类型数据,range对象,迭代器)lst[start_index:end_index:step]"""

lst = ["吕洞宾","何仙姑","铁拐李","曹国舅","张果老","蓝采和","韩湘子","王文"]

# 利用切片可以一次修改多个元素,没有个数上的限制

lst[1:3] = "abcd"

lst[3:5] = ["王凡","牧树人","燕国彰"]

print(lst)

# 切片配合步长,切出多少个元素,修改多少个元素

res = lst[::2] # 吕洞宾 铁拐李 张果老 韩湘子

lst[::2] = "abcd"

lst[::2] = range(1,5) # lst[::2] = 1234 error

print(lst)

6. 列表的删除 ( 可切片 )

lst = ["吕洞宾","何仙姑","铁拐李","曹国舅","张果老","蓝采和","韩湘子","王文"]

del lst[-1]

print(lst)

# 删除的是变量res本身,不是列表中的元素

"""res = lst[-1]del resprint(lst)"""

del lst[:2]

del lst[::2] # 0 2 4 6 8 ...

print(lst)

# 元组中的列表,里面的元素可以修改

tup = (1,2,3,[4,5,6,(7,8,9)])

tup[-1][1] = 666

print(tup)

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值