split的第一个参数是分隔符。
如果省略第一个参数,默认把所有的空格、制表符、回车符当作分隔符,并过滤掉空串。这个也是你第一种写法的效果。
line.split(‘\t''\n')
'\t'和'\n'是两个字符串,会自动进行拼接,形成'\t\n'作为分隔符。而在你输入的字符串中,不包含这样的字串,所以就分割的结果就是原串。
split(‘\t')
以'\t'作为分隔符,分割的结果就是第三种写法。
split不支持同时使用多种字符做分隔符,如果想实现这样的效果,可以用re,例如:
>>> a
'wowofbfwjowoefbwfoweojbwoefja'
>>> import re
>>> re.split('[ab]', a)
['wowof', 'fwjowoef', 'wfoweoj', 'woefj', '']
>>> whole = map(lambda ln: ln.split('\t'), filter(lambda ln: ln.split(), f.readlines().split('\n')))
>>> whole
[['1800', '897', '87784'], ['1800', '897', '87784']]
>>>
居然学python 现在不流行啊