如果我有一个字符列表:

a = ['a','b','c','d']

如何将其转换为单个字符串?

a = 'abcd'

当前回答

reduce函数也可以工作

import operator
h=['a','b','c','d']
reduce(operator.add, h)
'abcd'

其他回答

如果列表中包含数字,则可以使用map()和join()。

Eg:

>>> arr = [3, 30, 34, 5, 9]
>>> ''.join(map(str, arr))
3303459

你也可以像这样使用operator.concat():

>>> from operator import concat
>>> a = ['a', 'b', 'c', 'd']
>>> reduce(concat, a)
'abcd'

如果你使用的是python3,你需要前置:

>>> from functools import reduce

因为内置的reduce()已经从Python 3中移除,现在存在于functools.reduce()中。

reduce函数也可以工作

import operator
h=['a','b','c','d']
reduce(operator.add, h)
'abcd'
h = ['a','b','c','d','e','f']
g = ''
for f in h:
    g = g + f

>>> g
'abcdef'

这可能是最快的方法:

>> from array import array
>> a = ['a','b','c','d']
>> array('B', map(ord,a)).tostring()
'abcd'