为什么我的代码出错?我在中复制了“memoize”函数Django.utils.function

2024-04-19 20:14:48 发布

您现在位置:Python中文网/ 问答频道 /正文

我的代码:

a=[1,2,3,4]
b=a[:2]
c=[]
c[b]='sss'#error

记忆功能:

^{pr2}$

Tags: 记忆代码功能errorssspr2
2条回答

你的问题和你发布的记忆功能有什么关系?在

大概(虽然我们不得不猜测,因为你没有发布实际的错误)你得到的是一个类型错误。这是由于两个错误。在

首先,c是一个列表。所以不能使用任意键,只能使用整数索引。大概你想在这里定义一个字典:c = {}

其次,在语句2中得到一个列表-b等于[1, 2]-这不是一个有效的字典索引。a应该是元组:a = (1, 2, 3, 4)。在

我必须重申别人给你的建议。在尝试复制您不理解的高级Python代码之前,请先找到编程的介绍并阅读它。在

memoize函数中,我假设cachedict。另外,由于a是alist,b也将是alist,并且列表是不可散列的。使用tuple。在

试试看

a = (1, 2, 3, 4) # Parens, not brackets
b = a[:2]
c = {} # Curly braces, not brackets
c[b] = 'sss'

相关问题 更多 >