字符串拼接
列表元素(str)拼接
方法一:+
In [2]: lst = ['hello', 'world', '!']
In [3]: s=''
In [4]: for i in lst:
...: s+=i
...:
In [5]: s
Out[5]: 'helloworld!'
通过+
也能实现需求,不过如果列表很大,会出现内存浪费的问题,因为每次迭代都会产生一个新的临时列表,释放老的临时列表,所以推荐第二种方法
方法二:str.join()
In [6]: ''.join(lst)
Out[6]: 'helloworld!'
如果列表元素内有其他类型的数据,先进行类型转换
In [7]: ''.join([str(i) for i in lst])
Out[7]: 'helloworld!'
还是那个问题,如果列表很长的话,这么写也会带来不必要的开销,所以更为推荐的写法是使用生成器表达式,PS: 作为参数时不用写圆括号
In [8]: ''.join(str(i) for i in lst)
Out[8]: 'helloworld!'
总结
+
:适合拼接项较少时
str.join()
:适合拼接项较多时