作者热门文章
- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
这是示例表单,稍后我将尝试用文字解释它。我有一个分解字符串的列表...
说
[a, a, a, b, a, a, b, a, c, a, b, a, a, c, a, c, a]
其中 b 是标准 1,c 是标准 2
我想把它分成这样的列表:
[a, a, a, [b, a, a, [b, a, c], a, [b, a, a, c], a, c], a]
所以我想处理字符串,这样当我遍历它时,如果项目符合标准 1,则打开一个新列表,如果项目符合标准 2,则关闭列表并返回上一级。
我试过这样做,但效果不是很好。
def sublist(self, l):
for line in list:
if not b:
self.data.append(line)
else:
sublist(l[line:]) #<----- not sure how to recurse it.
我之前在 stackoverflow 上看到过将列表分成大小相等的列表,但没有看到使用一组标准将列表分成子列表。
最佳答案
给你:
lst = "aaabaabacabaacaca"
def go(it):
for x in it:
if x == 'b':
yield [x] + list(go(it))
else:
yield x
if x == 'c':
break
print list(go(iter(lst)))
关于python - 如何将字符串处理成子列表层?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10415752/
我是一名优秀的程序员,十分优秀!