我有这个函数用于计算罗马数字的等价数字,其中数字作为列表传递给函数,其中每个数字是分开的:
def numerals_operations(*args):
n = len(args) - 1
result = numerals[args[n]]
for keys in range(n):
key_1 = args[n]
key_2 = args[n - 1]
if numerals[key_1] > numerals[key_2]:
result -= numerals[key_2]
else:
result += numerals[key_2]
n -= 1
return result
当我尝试在列表上调用该函数时,我收到此错误:'TypeError:unhashable type:'list''。我认为这是因为使用* args意味着函数将期待一个元组,但我不知道列表传递给函数的时间有多长。函数参数应该是什么,以便可以在未知长度的列表上调用它?感谢。