gpt4 book ai didi

python - 将平面列表转换为嵌套列表

转载 作者:太空宇宙 更新时间:2023-11-04 08:20:11 25 4
gpt4 key购买 nike

使用Python

我想要以下内容:

[1, 2, 2, 1, 2, 3, 2, 3]

转化为:

[1, 2, 2, [1, 2, 3], 2, 3]

规则:遍历列表中的每个项目。如果我们点击 2 后跟 1 创建一个列表,并将该 1 包含在该列表中,直到我们点击 3,包括该 3,然后关闭列表并继续。这就像 1 是 3 是括号。

我不太擅长递归算法,我认为在这种情况下可能需要递归算法。

一如既往的感谢。

最佳答案

请记住,@Walter 在他对您的问题的评论中是正确的,这是您要求的愚蠢实现,灵感来自您问题的最后一点,您在其中建议 13 可以替换为 [13]

>>> import re
>>> s = repr([1, 2, 2, 1, 2, 3, 2, 3])
>>> s = re.sub('1', '[1', s)
>>> s = re.sub('3', '3]', s)
>>> l = eval(s)
>>> l
[[1, 2, 2, [1, 2, 3], 2, 3]]

它所做的是处理列表(字符串)的表示,并使用正则表达式替换您建议的方式。最后,它评估字符串(取回列表)。

我称此实现为“愚蠢的”,因为它可以解决问题,但它很丑陋且真正非 Pythonic。也就是说,它确实有效,所以如果您只是将它用于一次性转换您需要使用的某些数据...

喂!

关于python - 将平面列表转换为嵌套列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6720574/

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