gpt4 book ai didi

python - 在双向链表的字符串元素中查找字符索引而不使用python中的类

转载 作者:行者123 更新时间:2023-12-01 08:48:13 25 4
gpt4 key购买 nike

我正在编写一些有用函数的脚本来编辑双向链表,并且我没有使用 OOP。因此没有使用任何类。

这是双向链表的示例:

dll = ['So true', ['^very much', ['try it', ['Not yet', None, [...]], [...]], [...]], None]

注意ddl元素的结构如下:[字符串,指向上一个节点的指针,指向下一个节点的指针]

我正在尝试创建一个变量,该变量将双向链表中的字符 '^' 的值作为“光标”(只是一个虚拟光标,但它实际上只是一个索引'^' 字符),而不使用类(一个函数,或者可能是几个函数?)。现在“cursor”变量是指向节点(包含当前字符串)和该字符串中的位置的指针。

我想创建它的原因是用它来创建有用的功能,例如:将光标向左移动一个字符、将光标移动到行首等。

光标 = 带有字符串的双向链表中“^”的索引。

所以我的问题是:如何在不使用类的情况下找到双向链表中字符串中字符的索引?

最佳答案

为了仅仅找到 ^ 字符的位置,您可以使用一个简单的递归函数来连接所有字符串(我假设所有字符串都位于嵌套列表中的位置 0):

def join_nested_strings(list):
if list[1]:
return list[0] + join_nested_strings(list[1])
else:
return list[0]

然后只需使用 print(join_nested_strings(dll).index("^")) 查找索引即可。

编辑:

如果您希望结果采用元组(字符串,索引)的形式,则递归函数将如下所示:

def cursor(list):
if "^" in list[0]:
return list[0], list[0].index("^")
else:
return cursor(list[1])

请注意,如果光标字符不包含在任何字符串中,这个简单的函数将引发错误。

关于python - 在双向链表的字符串元素中查找字符索引而不使用python中的类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53231504/

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