我相信我的生成器有问题,我不确定这是我的代码还是可能与我的编码环境有关(我使用的是Jupyter笔记本)
预期结果:
我想把这份名单翻过来:
ugh = [["hi","this"], ["is","annoying"], ["like...","really"], ["reallly","annoying"]]
进入字符串列表,如下所示:
["hi","this","is","annoying","like...","really","reallly","annoying"]
到目前为止,我已经尝试使用itertools.chain
和flatten()
的变体,到目前为止,我的结果如下:
展平功能:
from collections import Iterable
def flatten(coll):
for i in coll:
if isinstance(i, Iterable) and not isinstance(i, basestring):
for subc in flatten(i):
yield subc
else:
yield i
print(flatten(ugh))
结果:<;生成器对象在0x7f8ccf3c6250处展平>
Itertools:
print(list(itertools.chain(*sublist)) for sublist in ugh)
结果:<;0x7f8ccf3c6250处的生成器对象>
我非常感谢您的帮助,因为当我搜索任何一个输出时,都不会得到任何结果
升级的最好方法,通常更快、更有效,就是使用列表理解。我使用了嵌套的,因为列表中有一个列表
让我知道它是否有效
相关问题 更多 >
编程相关推荐