【发布时间】:2022-01-08 06:53:55
【问题描述】:
我的教授给了我一个 python 任务来比较 2 个二维列表,如果列表中的所有对象都相似,则返回 True,否则返回 False。 列表的类型为 list[list[int]]。 这必须使用递归来完成。 我不允许使用循环或切片。 (但可以访问列表中的特定索引) 列表的内部划分可能不同,但只要列表中相似位置的所有元素相似,函数就会返回 True。 例如 - [[1], [2, 3, 4]] , [[1, 2], [3, 4]] - 函数将返回 true。 我希望细节清楚,谢谢!
我的问题是找到解决这个问题的方法:)
【问题讨论】:
-
实际上,这在 Python 中有点无意义,因为 Python 可以将嵌套列表与其
==运算符进行比较... - 你可以开玩笑地写def compare(lol1, lol2): return lol1 == lol2- 这绝对是一个工作Python 中的解决方案 ;) . -
这实际上是一个很棒的python作业!感谢分享。但是你有问题吗?
-
@Gwang-JinKim 我理解问题陈述的方式,你的“解决方案”根本行不通。
-
哈哈遗憾的是,我们的大多数任务都是毫无意义的,只是为了让我们无缘无故地努力工作......我只能使用 == 来比较列表中的 int 而不是列表本身 :(
-
我的意思是开玩笑——这种任务通常来自口语。但是对于递归,您必须比较列表的第一个元素(lisp 中的
car)和列表的其余部分(cdr)-但问题是-您不允许使用切片...以及如何使用可以在不切片的情况下获取列表的其余部分吗? ...
标签: python list recursion multidimensional-array comparison