【发布时间】:2012-05-15 00:14:12
【问题描述】:
我刚才问过如何从这里给定定界符的字符串制作子列表(甚至更多子列表)的列表。 How to process a string into layer of sublists
现在,我需要将它们重新组合在一起,但我不知道该怎么做。我试着看这里 Python : Recursively flatten a list 和 Flatten a list in python
但是,这些答案都不适用于我的情况,因为链将我的字符串(单个项目“列表”)拆分为字符,因此无法与“\n”连接,并且 reduce 不会连接 str 和列表对象。
我可能需要在某些时候遍历子列表(及其子列表)。有没有办法遍历子列表的每一级? (我可以把这个作为一个单独的问题,一次一步..但只是想知道这个过程是否有意义还是我应该尝试一种全新的方法。我认为从逻辑上讲这是最有意义的,我只是有导航有问题。)
谢谢。
【问题讨论】:
-
请给出您的输入和所需输出的确切示例。从您之前的问题来看,您的输入是
[a, a, a, [b, a, a, [b, a, c], a, [b, a, a, c], a, c], a](字母是字符串而不是变量),而您想要的输出是'aaabaabacabaacaca',对吗? -
Flatten (an irregular) list of lists in Python 的可能副本。无论您是需要用换行符、空字符串还是现有内容连接字符串,都不会提出不同的问题。考虑两段代码,它们仅在用于计算的值上有所不同。您可以通过抽象成一个函数来统一它们,这表明它们本质上是相同的算法。问答是类似的。
-
@outis 感谢您的链接,我想我错过了。我链接的两个不适用于单个字符串项。如果可行,我将测试解决方案并删除此问题。
-
@chemelnucfin 你不能删除这个问题,因为我给出了一个赞成的答案。发布一个您无法获得其他类似问题的现有答案的问题是完全可以的。我展示了如何使用现有答案,而不是编写新代码,因此没有浪费任何精力。
标签: python list flatten sublist