hq = "谷歌,843.64,847.24,840.8,845.62,779900"
v = hq.split(',')
print(v)
# 输出结果:['谷歌', '843.64', '847.24', '840.8', '845.62', '779900']
可以看到print(v)的输出内容是一个列表list,python将其输出时,会在前后加上中括号[ ],里面的每一项内容仍是字符串,显示出来不直观。如果你想把这些字符串再重新拼起来,以前有编程基础的朋友马上会这样做:
v = ['谷歌', '843.64', '847.24', '840.8', '845.62', '779900']
hq = ""
for i in v :
hq += str(i) + ","
hq = hq[:-1] #去掉尾部多余的一个逗号
print(hq)
但实际上应该用 join() 函数,简洁、直观、性能好:
v = ['谷歌', '843.64', '847.24', '840.8', '845.62', '779900']
hq = ','.join(v)
print(hq)
这个join()函数与split()函数的功能几乎正好相反,但初学者在理解','.join()这条语句时感觉会很不习惯,似乎v.join(',')更符合思维习惯。关于这个问题,感兴趣的朋友可以读下面这篇帖子,里面介绍了这种设计的主要考虑和经过:http://stackoverflow.com/questions/493819/python-join-why-is-it-string-joinlist-instead-of-list-joinstring
最近正在零基础学画画,尝试着把这两个函数的意思画了下来。
s = 'ab,cd,ef,gh'
t = s.split(',')
s = ','.join(t)
这里需要注意的是:s是一个字符串,而t是4个字符串。
还需要特别注意这样一种用法:
','.join('abcde')
join()函数里的参数是一个列表list(准确地说,应该是一个可遍历的对象,这里先不介绍它),python的字符串也是可遍历的,可以拆为一个个的单个字符,所以结果就是:
'a,b,c,d,e'
我把以前的365行复利数据表再利用join函数写一遍,你还能看懂吗?
def fuli(i) :
y = round(1.01**i, 2)
return "(1+0.01) ^ " + str(i) + " = " + str(y)
fuli365 = [fuli(i) for i in range(1,366)]
print('\n'.join(fuli365))
--- END ---