以下信息参考菜鸟教程 1.函数意义 Python中的 split() 通过指定分隔符对字符串进行切片,如果参数 num 有指定值,则分隔 num+1 个子字符串 2.函数一般表达式 str.split(str="", num=string.count(str)) str – 分隔符,默认为所有的空字符,包括空格、换行(\n)、制表符(\t)等。 num – 分割次数。默认为 -1, 即分隔所有。
3.简单举例
str = "Line1-abcdef \nLine2-abc \nLine4-abcd";
print str.split( );
print str.split(' ', 1 );
>>
['Line1-abcdef', 'Line2-abc', 'Line4-abcd']
['Line1-abcdef', '\nLine2-abc \nLine4-abcd']
4,多个split()函数使用实例
timeline = [l.split('\n')[0].split(',') for l in open(os.path.join(mono_path, "time_new.csv"), "r").readlines()[1:]]
csv中的内容是: 1),readlines()作为python的内置函数用来按行读取文件,其后跟着的[a:b]是读取a~b行前闭后开空间. 读取数据的结果是一个一维数组:
result : ['46776155, 1605416376155143.png\n', '46776221, 1605416376221840.png\n', '46776288, 1605416376288476.png\n', '46776355, 1605416376355230.png\n', '46776421, 1605416376421841.png\n', '46776488, 1605416376488459.png\n', '46776555, 1605416376555151.png\n', '46776621, 1605416376621890.png\n', '46776688, 1605416376688349.png\n']
2)示例中使用了两个split()函数, l.split(’\n’)[0].split(’,’) 第一个split(’\n’),将上述1)生成的一维数组按照\n进行分割,注意当’\n’作为被分割的字符串的末端时,分割得出的是’\n’前面的字符串以及一个空字符串’’. 输出为:
result : [['46776155, 1605416376155143.png', ''], ['46776221, 1605416376221840.png', ''], ['46776288, 1605416376288476.png', ''], ['46776355, 1605416376355230.png', ''], ['46776421, 1605416376421841.png', ''], ['46776488, 1605416376488459.png', ''], ['46776555, 1605416376555151.png', ''], ['46776621, 1605416376621890.png', ''], ['46776688, 1605416376688349.png', '']]
这里我一直不懂为什么split()后还有[0],从网上查了一下,哦哦,才知道这个是指分割后的第一个元素. 也就是保留上一步生成的第一个元素并在此基础上进行’,'分割. 最后输出为:
result : [['46776155', ' 1605416376155143.png'], ['46776221', ' 1605416376221840.png'], ['46776288', ' 1605416376288476.png'], ['46776355', ' 1605416376355230.png'], ['46776421', ' 1605416376421841.png'], ['46776488', ' 1605416376488459.png'], ['46776555', ' 1605416376555151.png'], ['46776621', ' 1605416376621890.png'], ['46776688', ' 1605416376688349.png']]
|