【发布时间】:2016-01-11 12:21:06
【问题描述】:
我想做什么:
编写一个方法来对一个字符串数组进行排序,这样所有的 anagrms 都是 彼此相邻。
我有以下代码:
from collections import defaultdict
res = defaultdict(list)
L = ['foo', 'poo', 'k', 'fo', 'ofo', 'oof']
for w in L:
res["".join(sorted(w))].append(w)
但现在我想将res 中的所有值合并到一个列表中。
我试过了:
output =[]
for items in res.values():
output.append(i for i in items)
但这给了我:
>>> output
[<generator object <genexpr> at 0x102a4d1e0>, <generator object <genexpr> at 0x102a95870>, <generator object <genexpr> at 0x102a958c0>, <generator object <genexpr> at 0x102a95910>]
如何正确显示一个列表中的项目?
期望:
['foo','ofo', 'oof','poo', 'k', 'fo',]
(所有字谜都在一起,顺序无关紧要,只要它们在列表中相邻即可。)
【问题讨论】:
-
你能更新你期望的输出吗?
D是什么? -
很抱歉给您带来了困惑。我已经更新了我的问题。
标签: python python-2.7 collections anagram defaultdict