python基础:splitjoinreplaceremovedelpopindex小记

Posted 我是冰霜

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python基础:splitjoinreplaceremovedelpopindex小记相关的知识,希望对你有一定的参考价值。

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

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)可以移除列表中的元素,相关练习题:移除元素
 

以上是关于python基础:splitjoinreplaceremovedelpopindex小记的主要内容,如果未能解决你的问题,请参考以下文章

001--python全栈--基础知识--python安装

Python基础之函数

python 目录

python基础

人生苦短,我用Python(目录)

Python基础--Python3基础语法