下面是一段使用 split 分割字符串的代码,分别使用 Python2.7 和 Python3.7 执行
def mySplit(s, cut): data = [s] for i in cut: t = [] map(lambda x: t.extend(x.split(i)), data) data = t return [i for i in data if i] s = 'ab;cd|efg|hi,,jkl|mn\topq;rst,uvw\txyz'print(mySplit(s, ',;|\t'))
运行结果:
Geek-Mac:Downloads zhangyi$ python2.7 Nice.py ['ab', 'cd', 'efg', 'hi', 'jkl', 'mn', 'opq', 'rst', 'uvw', 'xyz'] Geek-Mac:Downloads zhangyi$ python3.7 Nice.py [] Geek-Mac:Downloads zhangyi$
由运行结果可知, Python2.7 运行正常,但是换成 Python3.7 执行就出现了问题。
如果换成循环就正常执行,我想知道是哪里出了问题,是 map、lambda 还是其他的的问题,望大神指点,不吝指教,多谢!
def mySplit(s, cut): data = [s] for i in cut: t = [] for x in data: t.extend(x.split(i)) data = t return [i for i in data if i] s = 'ab;cd|efg|hi,,jkl|mn\topq;rst,uvw\txyz'print(mySplit(s, ',;|\t'))
运行结果:
Geek-Mac:Downloads zhangyi$ python3.7 Nice.py ['ab', 'cd', 'efg', 'hi', 'jkl', 'mn', 'opq', 'rst', 'uvw', 'xyz'] Geek-Mac:Downloads zhangyi$ python2.7 Nice.py ['ab', 'cd', 'efg', 'hi', 'jkl', 'mn', 'opq', 'rst', 'uvw', 'xyz'] Geek-Mac:Downloads zhangyi$
暮色呼如
回首忆惘然
相关分类