python基础:split、join、replace、remove、del、pop、index小记 python 字符串的split()函数详解 leecode:删除列表中特定元素的几种方法

这里总结了平时写脚本时经常用到的一些基础方法,做个记录

1、split()函数

可以基于分隔符将字符串分割成由若干子串组成的列表
str.split(str="", num=string.count(str))

str -- 分隔符,默认为所有的空字符,包括空格、换行(\n)、制表符(\t)等。
num -- 分割次数。默认为 -1, 即分隔所有。
默认全部分割
>>> case = "happy, new, year"
>>> case.split(',')
['happy', ' new', ' year']


指定分割次数(如下分割1次,分成2个列表)
>>> txt = "Google#Runoob#Taobao#Facebook"
>>> txt.split("#", 1)
['Google', 'Runoob#Taobao#Facebook']
如果不指定分隔符,那么 split() 将默认使用空白字符——换行符、空格、制表符
>>> test = "my    name  is xxx yyy"
>>> test.split()
['my', 'name', 'is', 'xxx', 'yyy']

默认是以空格作为分隔符,不管空格在哪,或者有几个,全部被切掉了

分享一篇文我认为解释最形象的文章:python 字符串的split()函数详解

2、join()函数

用于将序列中的元素以指定的字符连接生成一个新的字符串 
>>> case = ['a', 'b', 'c']
>>> ','.join(case)  # 以','连接
'a,b,c'

>>> ''.join(case)  # 以空字符连接
'abc'

>>> ' '.join(case)  # 以单个空格符连接
'a b c'

3、replace()函数

可以进行简单的子串替换,如果指定第三个参数max,则替换不超过 max
不会影响原字符串(因为字符串是不可变的)
语法
str.replace(old, new[, max])

old -- 将被替换的子字符串。
new -- 新字符串,用于替换old子字符串。
max -- 可选字符串, 替换不超过 max 次
>>> strs = "this is string example....wow!!! this is really string";
>>> strs.replace("is", "was")
'thwas was string example....wow!!! thwas was really string'

>>> strs.replace("is", "was", 2);
'thwas was string example....wow!!! this is really string'

4、remove()函数

移除列表中某个值的第一个匹配项(直接在原有列表中修改)
如果不确定或不关心元素在列表中的位置,可以使用 remove() 根据指定的值删除元素
语法:
list.remove(obj)

参数
obj -- 列表中要移除的对象
>>> test = ["a","b","a","c","a"]

>>> test.remove("a")
>>> test
['b', 'a', 'c', 'a']

5、del()函数

如果运用到列表中,则是指删除指定位置的元素,在删除时需要指定元素的索引位置
 
>>> cat = ["胖喵","橘喵","奶牛喵"]
>>> del cat[1]
>>> cat
['胖喵', '奶牛喵']
当列表中一个元素被删除后,位于它后面的元素会自动往前移动填补空出的位置,且列表长度减 1
>>> test = ["a","b","c","d","e","f"]
>>> del test[0:3]  # 删除列表中前3个元素
>>> test
['d', 'e', 'f']

结合index()函数删除某个元素(用index()获取元素位置,然后用del()删除该元素)

>>> test = ["a","b","c","d","e","f"]
>>> del test[test.index("a")]
>>> test
['b', 'c', 'd', 'e', 'f']

6、pop()函数

获取并删除指定位置的元素
 
使用pop()同样可以获取列表中指定位置的元素,但在获取完成后,该元素会被自动删除;
 
如果你为pop()指定了偏移量,它会返回偏移量对应位置的元素;
 
如果不指定,则默认使用-1
 
因此,pop(0)将返回列表的头元素,而pop()或 pop(-1)则会返回列表的尾元素
>>> test = ["a","b","c","d","e","f"]
>>> test.pop()
'f'
>>> test
['a', 'b', 'c', 'd', 'e']
>>> test = ["a","b","c","d","e","f"]
>>> test.pop(2)
'c'
>>> test
['a', 'b', 'd', 'e', 'f']

它可以与index()函数结合使用,用index()获取元素位置,然后用pop()删除

7、index()函数

获取列表中某个元素的位置
>>> test = ["a","b","c","d","e","f"]
>>> test.index("c")
2
>>> test = ["a","b","c","d","e","f"]
>>> test.pop(test.index("b"))  # 结合pop()删除元素b
'b'
>>> test
['a', 'c', 'd', 'e', 'f']
利用上述(4、5、6、7)可以移除列表中的元素,相关练习题:移除元素
 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章