繁体   English   中英

Python-将列表转换为元组并进行比较(for循环)

[英]Python - converting List to Tuple and compare(for loop)

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))

我试图将列表中的数字转换为元组形式,以便可以与另一个元组进行比较。 但是问题是它返回了这样的错误:

追溯(最近一次呼叫最近):文件“”,行16,在文件“”,行5,在运行TypeError:'tuple'对象不支持项目分配

您可以使用tuple功能将列表转换为元tuple

tuple(lst)

要检查列表和元组是否相同,只需执行以下操作

return tuple(lst) == tup

发生这种情况是因为元组是不可变的,它们内部的数据无法突变

例:

>>> 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()函数

有关更多信息,我建议您阅读文档

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM