我要做的是转过来
['p', 'y', 't', 'h', 'o', 'n']
进入这个:
['python']
好的,如果我想让这个列表中的每个列表都成为一个单词
[['f', 'e', 'd'], ['d', 'e', 'f'], ['w', 'o', 'r', 'd']]
进入这个
[['fed'], ['def'], ['word']]
答案 0 :(得分:2)
reduce(lambda a,b:a+b,['p','y','t','h','o','n'])
你可能会在这堂课上失败:/学习硬填充
y=[['f', 'e', 'd'], ['d', 'e', 'f'], ['w', 'o', 'r', 'd']]
map(lambda x:reduce(lambda a,b:a+b,x),y)
答案 1 :(得分:1)
作为一般解决方案,你可以这样:
lst = [['f', 'e', 'd'], ['d', 'e', 'f'], ['w', 'o', 'r', 'd']]
>>> map(''.join, lst)
['fed', 'def', 'word']
这将基本上将列表中的所有元素逐个(子列表)提供给作为map
内置函数的第一个参数提供的函数,''.join
是我们的案件。正如您所料,它将提供一个新列表,其中包含通过加入子列表获得的字符串。
答案 2 :(得分:0)
如果您只想使用for
循环,list
和string
方法:
>>> aList = [['f', 'e', 'd'], ['d', 'e', 'f'], ['w', 'o', 'r', 'd']]
>>> newList = []
>>> for X in aList:
... newList.append("".join(X))
...
>>> newList
['fed', 'def', 'word']