def run(lst, tup):
tup_1 = ()
for x in range(len(lst)):
tup_1[x] = lst[x]
if tup_1[1] == lst[1]:
return True
for y in range(len(tup_1)):
if tup_1[y] == tup[y]:
return "matched"
else:
return "not equal"
print run([1,2,3],(1,2,3))
我尝试将List中的数字转换为Tuple形式,因此我可以与另一个元组进行比较。 但问题是它返回如下错误:
回溯(最近一次调用最后一次):文件“”,第16行,中 文件“”,第5行,运行TypeError:'tuple'对象 不支持项目分配
答案 0 :(得分:1)
您可以使用tuple
这样的函数将列表转换为元组
tuple(lst)
要检查列表和元组是否相同,您只需执行此操作
return tuple(lst) == tup
答案 1 :(得分:1)
这是因为元组是不可变的,它们内部的数据不能被变异
示例:的
>>> t = (1,2,3)
>>> t[1] = 4
Traceback (most recent call last):
File "<interactive input>", line 1, in <module>
TypeError: 'tuple' object does not support item assignment
与可变的列表不同:
>>> l = [1,2,3]
>>> l[1] = 4
>>> l
[1, 4, 3]
所以使用列表而不是元组:
tup_1 = []
如果您需要将列表转换为元组,则可以使用内置的tuple()
函数
有关详情,建议您阅读documentation