关于python:将字符串列表转换为字符串中的一个列表

Converting a list of strings into one list in a string

本问题已经有最佳答案,请猛点这里访问。

我要做的是把这个转过来

1
['p', 'y', 't', 'h', 'o', 'n']

进入这个:

1
['python']

好吧,如果我想把这张单子里的每一张都写一个字呢

1
[['f', 'e', 'd'], ['d', 'e', 'f'], ['w', 'o', 'r', 'd']]

进入这个

1
[['fed'], ['def'], ['word']]

1
reduce(lambda a,b:a+b,['p','y','t','h','o','n'])

你可能会在这门课上不及格:努力学习帕德万

1
2
y=[['f', 'e', 'd'], ['d', 'e', 'f'], ['w', 'o', 'r', 'd']]
map(lambda x:reduce(lambda a,b:a+b,x),y)


作为一般解决方案,您可以这样做:

1
2
3
lst = [['f', 'e', 'd'], ['d', 'e', 'f'], ['w', 'o', 'r', 'd']]
>>> map(''.join, lst)
['fed', 'def', 'word']

这基本上会将列表中的所有元素逐个(子列表)送入作为map内置函数的第一个参数提供的函数中,我们的情况是''.join。如您所料,它将提供一个新的列表,其中包含通过加入子列表获得的字符串。


如果只想使用for循环、liststring方法:

1
2
3
4
5
6
7
>>> aList = [['f', 'e', 'd'], ['d', 'e', 'f'], ['w', 'o', 'r', 'd']]
>>> newList = []
>>> for X in aList:
...     newList.append("".join(X))
...
>>> newList
['fed', 'def', 'word']