小甲鱼 发表于 2020-12-2 18:30:59

已有 25 人购买  本主题需向作者支付 5 鱼币 才能浏览 购买主题

林烨彬 发表于 2021-1-4 20:36:19

哈哈

eyech 发表于 2021-1-10 19:59:45

来了

小古比鱼 发表于 2021-3-4 17:24:40

本节讲了“截取”、“拆分”和“拼接”三种类别下的总共11个方法,都很实用。其中用于拆分字符串的split()和rsplit()方法非常灵活;用于拼接字符串的join()方法十分常用,也很高效——经测试,使用join()方法比使用加号拼接字符串的速度要快得多,并且随着数据的增加,两者的性能差距越来越大,这也正是大牛忠爱join()方法的原因!

O2H2O 发表于 2021-4-29 17:00:35

小古比鱼 发表于 2021-3-4 17:24
本节讲了“截取”、“拆分”和“拼接”三种类别下的总共11个方法,都很实用。其中用于拆分字符串的split() ...

请问lstrip怎么界定哪几个字符是属于左边的字符呢?哪些是右呢?是不是当截取掉参数指定的字符后,一直截取到没有指定的参数为止?也就是说只要能截取就认为是左边(或右边)

小古比鱼 发表于 2021-4-30 09:43:34

O2H2O 发表于 2021-4-29 17:00
请问lstrip怎么界定哪几个字符是属于左边的字符呢?哪些是右呢?是不是当截取掉参数指定的字符后,一直截 ...

是的,小古比鱼也是这么理解的。

zdasd 发表于 2021-5-19 10:56:32

**字符串4**

截取:strip(chars=None)   lstrip(chars=None)    rstrip(chars=None)            removeprefix(chars=None)    rempvesuffix(chars=None)

strip(chars=None):返回一个去除左右两侧空白字符的新字符串;通过 chars 参数可以指定将要去除的字符串

lstrip(chars=None):返回一个去除左侧空白字符的新字符串;通过 chars 参数可以指定将要去除的字符串

rstrip(chars=None):返回一个去除右侧空白字符的新字符串;通过 chars 参数可以指定将要去除的字符串

>>> "    左侧不要留白".lstrip()
'左侧不要留白'
>>> "右侧不要留白   ".rstrip()
'右侧不要留白'
>>> "   左右不要留白   ".strip()
'左右不要留白'
>>> "www.ilovefishc.com".lstrip("wcom.")
'ilovefishc.com'
>>> "www.ilovefishc.com".rstrip("wcom.")
'www.ilovefish'
>>> "www.ilovefishc.com".strip("wcom.")
'ilovefish'
[按照单个字符为单位,在目标字符串依次寻找,直至遇到第一个不相同的字符时停止]

removeprefix(chars=None):如果存在 chars 参数指定的前缀子字符串,则返回一个将该前缀去除后的新字符串;如果不存在,则返回一个原字符串的拷贝

rempvesuffix(chars=None):如果存在 chars 参数指定的后缀子字符串,则返回一个将该后缀去除后的新字符串;如果不存在,则返回一个原字符串的拷贝

>>> "www.ilovefishc.com".removeprefix("www.")
'ilovefishc.com'
>>> "www.ilovefishc.com".removesuffix(".com")
'www.ilovefishc'

拆分和拼接:partition(sep)       rpartition(sep)      split(sep=None,maxsplit=-1)    rsplit(sep=None,maxsplit=-1)      splitlines(keepends=False)      join(iterable)

partition(sep):在字符串中自左往右搜索 sep 参数指定的分隔符,如果找到,返回一个 3 元组 ('在sep前面的部分', 'sep', '在sep后面的部分');如果未找到,则返回 ('原字符串', '', '')

rpartition(sep):在字符串中自右向左搜索sep参数指定的分隔符,如果找到,返回一个 3 元组 ('在sep前面的部分', 'sep', '在sep后面的部分');如果未找到,则返回 ('', '', '原字符串')

>>> "www.ilovefishc.com".partition(".")
('www', '.', 'ilovefishc.com')
>>> "www.ilovefishc.com/python".rpartition("/")
('www.ilovefishc.com', '/', 'python')

split(sep=None,maxsplit=-1):将字符串自左往右进行分割,并将结果以列表的形式返回;sep 参数指定一个字符串作为分隔的依据,默认是任意空白字符;maxsplit参数用于指定分割的次数(注意:分割 2 次的结果是 3 份),默认是不限制

rsplit(sep=None,maxsplit=-1):将字符串自右向左进行分割,并将结果以列表的形式返回;sep 参数指定一个字符串作为分隔的依据,默认是任意空白字符;maxsplit 参数用于指定分割的次数(注意:分割 2 次的结果是 3 份),默认是不限制

>>> "苟日新,日日新,又日新".split()
['苟日新,日日新,又日新']
>>> "苟日新 日日新 又日新".split()[默认情况下会切分空格]
['苟日新', '日日新', '又日新']
>>> "苟日新,日日新,又日新".split(",")
['苟日新', '日日新', '又日新']
>>> "苟日新,日日新,又日新".rsplit(",")
['苟日新', '日日新', '又日新']
>>> "苟日新,日日新,又日新".split(",", 1)
['苟日新', '日日新,又日新']
>>> "苟日新,日日新,又日新".rsplit(",", 1)
['苟日新,日日新', '又日新']

splitlines(keepends=False):将字符串按行分割,并将结果以列表的形式返回;keepends 参数指定是否包含换行符,True 是包含,False 是不包含

>>> "苟日新\n日日新\n又日新".split('\n')
['苟日新', '日日新', '又日新']
>>> "苟日新\r日日新\r又日新".split('\r')
['苟日新', '日日新', '又日新']
>>> "苟日新\n日日新\n又日新".splitlines()
['苟日新', '日日新', '又日新']
>>> "苟日新\r日日新\r又日新".splitlines()
['苟日新', '日日新', '又日新']
>>> "苟日新\r日日新\r\n又日新".splitlines()
['苟日新', '日日新', '又日新']
>>> "苟日新\r日日新\r\n又日新".splitlines(True)
['苟日新\r', '日日新\r\n', '又日新']
[\n在Linux系统下表示换行,在Mac系统下换行符则是\r,Windows系统下是\r\n]

join(iterable):连接多个字符串并返回一个新字符串;以调用该方法的字符串作为分隔符,插入到 iterable 参数指定的每个字符串的中间;例如:'^'.join(\["F", "i", "sh", "C"\]) -> 'F^i^sh^C'

>>> ".".join(["www", "ilovefishc", "com"])
'www.ilovefishc.com'
>>> "^".join(("F", "ish", "C"))
'F^ish^C'
>>> s = "FishC"
>>> s += s
>>> s
'FishCFishC'
>>> "".join(("FishC", "FishC"))
'FishCFishC'

痴我一拳 发表于 2021-5-20 14:58:16

复习:

**字符串4**

截取:strip(chars=None)   lstrip(chars=None)    rstrip(chars=None)            removeprefix(chars=None)    rempvesuffix(chars=None)

strip(chars=None):返回一个去除左右两侧空白字符的新字符串;通过 chars 参数可以指定将要去除的字符串

lstrip(chars=None):返回一个去除左侧空白字符的新字符串;通过 chars 参数可以指定将要去除的字符串

rstrip(chars=None):返回一个去除右侧空白字符的新字符串;通过 chars 参数可以指定将要去除的字符串

>>> "    左侧不要留白".lstrip()
'左侧不要留白'
>>> "右侧不要留白   ".rstrip()
'右侧不要留白'
>>> "   左右不要留白   ".strip()
'左右不要留白'
>>> "www.ilovefishc.com".lstrip("wcom.")
'ilovefishc.com'
>>> "www.ilovefishc.com".rstrip("wcom.")
'www.ilovefish'
>>> "www.ilovefishc.com".strip("wcom.")
'ilovefish'
[按照单个字符为单位,在目标字符串依次寻找,直至遇到第一个不相同的字符时停止]

removeprefix(chars=None):如果存在 chars 参数指定的前缀子字符串,则返回一个将该前缀去除后的新字符串;如果不存在,则返回一个原字符串的拷贝

rempvesuffix(chars=None):如果存在 chars 参数指定的后缀子字符串,则返回一个将该后缀去除后的新字符串;如果不存在,则返回一个原字符串的拷贝

>>> "www.ilovefishc.com".removeprefix("www.")
'ilovefishc.com'
>>> "www.ilovefishc.com".removesuffix(".com")
'www.ilovefishc'

拆分和拼接:partition(sep)       rpartition(sep)      split(sep=None,maxsplit=-1)    rsplit(sep=None,maxsplit=-1)      splitlines(keepends=False)      join(iterable)

partition(sep):在字符串中自左往右搜索 sep 参数指定的分隔符,如果找到,返回一个 3 元组 ('在sep前面的部分', 'sep', '在sep后面的部分');如果未找到,则返回 ('原字符串', '', '')

rpartition(sep):在字符串中自右向左搜索sep参数指定的分隔符,如果找到,返回一个 3 元组 ('在sep前面的部分', 'sep', '在sep后面的部分');如果未找到,则返回 ('', '', '原字符串')

>>> "www.ilovefishc.com".partition(".")
('www', '.', 'ilovefishc.com')
>>> "www.ilovefishc.com/python".rpartition("/")
('www.ilovefishc.com', '/', 'python')

split(sep=None,maxsplit=-1):将字符串自左往右进行分割,并将结果以列表的形式返回;sep 参数指定一个字符串作为分隔的依据,默认是任意空白字符;maxsplit参数用于指定分割的次数(注意:分割 2 次的结果是 3 份),默认是不限制

rsplit(sep=None,maxsplit=-1):将字符串自右向左进行分割,并将结果以列表的形式返回;sep 参数指定一个字符串作为分隔的依据,默认是任意空白字符;maxsplit 参数用于指定分割的次数(注意:分割 2 次的结果是 3 份),默认是不限制

>>> "苟日新,日日新,又日新".split()
['苟日新,日日新,又日新']
>>> "苟日新 日日新 又日新".split()[默认情况下会切分空格]
['苟日新', '日日新', '又日新']
>>> "苟日新,日日新,又日新".split(",")
['苟日新', '日日新', '又日新']
>>> "苟日新,日日新,又日新".rsplit(",")
['苟日新', '日日新', '又日新']
>>> "苟日新,日日新,又日新".split(",", 1)
['苟日新', '日日新,又日新']
>>> "苟日新,日日新,又日新".rsplit(",", 1)
['苟日新,日日新', '又日新']

splitlines(keepends=False):将字符串按行分割,并将结果以列表的形式返回;keepends 参数指定是否包含换行符,True 是包含,False 是不包含

>>> "苟日新\n日日新\n又日新".split('\n')
['苟日新', '日日新', '又日新']
>>> "苟日新\r日日新\r又日新".split('\r')
['苟日新', '日日新', '又日新']
>>> "苟日新\n日日新\n又日新".splitlines()
['苟日新', '日日新', '又日新']
>>> "苟日新\r日日新\r又日新".splitlines()
['苟日新', '日日新', '又日新']
>>> "苟日新\r日日新\r\n又日新".splitlines()
['苟日新', '日日新', '又日新']
>>> "苟日新\r日日新\r\n又日新".splitlines(True)
['苟日新\r', '日日新\r\n', '又日新']
[\n在Linux系统下表示换行,在Mac系统下换行符则是\r,Windows系统下是\r\n]

join(iterable):连接多个字符串并返回一个新字符串;以调用该方法的字符串作为分隔符,插入到 iterable 参数指定的每个字符串的中间;例如:'^'.join(\["F", "i", "sh", "C"\]) -> 'F^i^sh^C'

>>> ".".join(["www", "ilovefishc", "com"])
'www.ilovefishc.com'
>>> "^".join(("F", "ish", "C"))
'F^ish^C'
>>> s = "FishC"
>>> s += s
>>> s
'FishCFishC'
>>> "".join(("FishC", "FishC"))
'FishCFishC'

庚申 发表于 2021-8-8 20:23:28

痴我一拳 发表于 2021-5-20 14:58
复习:

**字符串4**


十分感谢!

wangtuan 发表于 2021-11-27 21:16:02

>>> "        左侧不要留白".lstrip
<built-in method lstrip of str object at 0x000001E1519B03B0>
>>> "        左侧不要留白".lstrip()
'左侧不要留白'
>>> "右侧不要留白".rstrip()
'右侧不要留白'
>>> " 两边都不要留白".strip()
'两边都不要留白'
>>> "www.ilovefishc.com".lstrip("wcom.")
'ilovefishc.com'
>>> "www.ilovefishc.com".rstrip("wcom.")
'www.ilovefish'
>>> "www.ilovefishc.com".strip("wcom.")
'ilovefish'
>>> "www.ilovefishc.com".removeprefix("www.")
'ilovefishc.com'
>>> "www.ilovefishc.com".removesuffix(".com")
'www.ilovefishc'
>>> "www.ilovefishc.com".partition(".")
('www', '.', 'ilovefishc.com')
>>> "www.ilovefishc.com".rpartition(".")
('www.ilovefishc', '.', 'com')
>>> "苟日新,日日新,又日新".split()
['苟日新,日日新,又日新']
>>> "苟日新 日日新 又日新".split()
['苟日新', '日日新', '又日新']
>>> "苟日新,日日新,又日新".split(",")
['苟日新', '日日新', '又日新']
>>> "苟日新,日日新,又日新".rsplit(",")
['苟日新', '日日新', '又日新']
>>> "苟日新,日日新,又日新".split(",",1)
['苟日新', '日日新,又日新']
>>> "苟日新,日日新,又日新".rsplit(",",1)
['苟日新,日日新', '又日新']
>>> "苟日新/n日日新/n又日新".rsplit("/n")
['苟日新', '日日新', '又日新']
>>> "苟日新/r日日新/r又日新".rsplit("/r")
['苟日新', '日日新', '又日新']
>>> "苟日新/n日日新/n又日新".splitlines()
['苟日新/n日日新/n又日新']
>>> "苟日新/r日日新/r又日新".splitlines()
['苟日新/r日日新/r又日新']
>>> "苟日新/r/n日日新/r/n又日新".splitlines()
['苟日新/r/n日日新/r/n又日新']
>>> "苟日新/r/n日日新/r/n又日新".splitlines(True)
['苟日新/r/n日日新/r/n又日新']
>>> ".".join(["www","ilovefishc",".com"])
'www.ilovefishc..com'
>>> ".".join(["www","ilovefishc","com"])
'www.ilovefishc.com'
>>> "^".join(("F","ish","C"))
'F^ish^C'
>>> "".join(("Fish"*2))
'FishFish'
>>>

15726263387 发表于 2022-1-23 17:42:52

{:10_256:}

ASM023 发表于 2022-2-25 20:34:31

打卡~~{:10_254:}{:10_254:}

aBIGa 发表于 2022-4-11 12:19:18

怎么这里人这么少

aBIGa 发表于 2022-4-11 12:28:16

>>>"www.ilovefishc.com".lstrip("wcom.")
'ilovefishc.com'
>>> "www.ilovefishc.com".rstrip("wcom.")
'www.ilovefish'
>>> "www.ilovefishc.com".strip("wcom.")
'ilovefish'
rstiip 和 lstrip 截取过程中是按照单个字符为单位,在目标字符串依次寻找,直至遇到第一个不相同的字符时停止
那为什么>>>"www.ilovefishc.com".lstrip("wcom.")
'ilovefishc.com' 中o为什么没被截取掉
>>> "www.ilovefishc.com".rstrip("wcom.")
'www.ilovefish' 中c可以被截掉

aBIGa 发表于 2022-4-11 12:34:30

>>> "www.ilovefishc.com".lstrip("wcom.")
'ilovefishc.com'                     此处wcom.四个元素分别从左到右在目标字符串依次寻找,为什么o没被截取{:10_269:}
>>> "www.ilovefishc.com".rstrip("wcom.")
'www.ilovefish'                        此处o被截取 可以理解
>>> "www.ilovefishc.com".strip("wcom.")
'ilovefish'

Er3nYeager 发表于 2022-4-21 11:41:02

打卡

码农心 发表于 2022-5-9 16:36:55

感觉认真学习的自己还是有进步啊呀,至少能看懂一些简单的玩意儿了

Moyuchen_ 发表于 2022-5-28 11:19:17

在使用removeprefix和removesuffix的时候python报错了,检查了一下之后我发现我的python3.8.0的字符串没有这两个方法……这是版本问题还是有什么东西没安装上的问题啊orz{:10_266:}

cga 发表于 2022-6-20 10:10:27

学习打卡

cga 发表于 2022-7-5 15:20:10

温故一下
页: [1] 2 3
查看完整版本: 第030讲:字符串(IV)