gpt4 book ai didi

python - 在使用 Python 迭代创建的嵌套列表中选择上面的级别

转载 作者:太空宇宙 更新时间:2023-11-04 02:56:12 24 4
gpt4 key购买 nike

我在列表中搜索了很多问题,但找不到我要找的东西。

我有一个用大括号包裹一些值的字符串和一些包含值的其他嵌套大括号对。我不知道结构嵌套的最深层次,但它可能看起来像这样:

{121{12}12{211}2}

我想遍历这个字符串并以类似于以下伪代码的方式将它传输到嵌套列表:

for i in thestring
if there is a leftbrace { start a new list inside the current list
elseif there is a rightbrace } close the current list and select the list on the level above
else add i to currently selected list

我不知道如何提升列表级别并关闭当前子列表

最佳答案

def listify(s):
i = iter(s)
l = []
for c in i:
if c == '{':
l.append(listify(i))
elif c == '}':
return l
else:
l.append(c)
return l[0]

诀窍是使用递归函数,以便堆栈负责跟踪您所在的列表。我们使用 iter 以便我们可以将字符串传递给递归调用而无需字母我们已经处理过了。

>>>listify(s)
['1', '2', '1', ['1', '2'], '1', '2', ['2', '1', '1'], '2']

关于python - 在使用 Python 迭代创建的嵌套列表中选择上面的级别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42283036/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com