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)可以移除列表中的元素,相關練習題:移除元素
 

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