python基本 split 和 join函数较量
一、关于split 和 join 要领
1只针对字符串举办处理惩罚。split:拆分字符串、join毗连字符串
2.string.join(sep): 以string作为支解符,将sep中所有的元素(字符串暗示)归并成一个新的字符串
3.string.split(str=' ',num=string.count(str)): 以str为脱离,符切片string,假如num有指定值,则仅脱离num个子字符串。
4.对导入os模块举办os.path.splie()/os.path.join() 貌似是处理惩罚机制纷歧样,可是成果上一样。
二、split()要领
help后的信息如下:
split(…)
S.split([sep [,maxsplit]]) -> list of strings
Return a list of the words in the string S, using sep as the
delimiter string. If maxsplit is given, at most maxsplit
splits are done. If sep is not specified or is None, any
whitespace string is a separator.
中文翻译:
split(…)
S.split([sep [,maxsplit]]) -> 由字符串支解成的列表
返回一组利用脱离符(sep)支解字符串形成的列表。假如指定最大支解数,则在最大支解时竣事。假如脱离符未指定可能为none,则脱离符默认为空格。
实例:
s='a b c' print s.split(' ') st='hello world' print st.split('o') print st.split('o',1) --------output--------- ['a', 'b', 'c'] ['hell', ' w', 'rld'] ['hell', ' world'] os.path.split()
os.path.split是凭据路径将文件名和路径支解开,好比d:\\python\\python.ext,可支解为['d:\\python', 'python.exe'],示譬喻下:
import os print os.path.split('c:\\Program File\\123.doc') print os.path.split('c:\\Program File\\') -----------------output--------------------- ('c:\\Program File', '123.doc') ('c:\\Program File', '')
三、join()
a='abcd' print '.'.join(a) print '|'.join(['a','b','c']) #可以把['a','b','c']看做是 a='abcd';下面同理 print '.'.join({'a':1,'b':2,'c':3,'d':4})
留意:'.'等做脱离符,将join里的所有元素(字符串)通过脱离符毗连成一个新的字符串
大概有人像我一样咬文嚼字,针对string.join()的界说爱钻牛角尖,硬生生地将['a','b','c']先转换为字符串,然后在join
如:
b=str(['a','b','c'])
print '|'.join(b)
我觉得这样是正解,可是否则。输出功效是:[|'|a|'|,| |'|b|'|,| |'|c|'|],而导致与上面纷歧致的原因就是多此一举了,把['a','b','c']转换成了字符串,在Python中,我们发明字符串、元祖、列表它们是序列范例,有着沟通的会见方法,可以以下标来会见个中的元素。
以上可以再敲一遍试试。
输入:
输出:
a.b.c.d
a|b|c
a.c.b.d
os.path.join(patp[,patp[,……]])
os.path.join(patp[, patp[, ...]]) #将多个路径组合后返回,第一个绝对路径之前的参数将被忽略。 >>> os.path.join('c:\\', 'csv', 'test.csv') 'c:\\csv\\test.csv' >>> os.path.join('windows\temp', 'c:\\', 'csv', 'test.csv') 'c:\\csv\\test.csv' >>> os.path.join('/home/aa','/home/aa/bb','/home/aa/bb/c') '/home/aa/bb/c'