无法使用 for 循环迭代元组

Posted

技术标签:

【中文标题】无法使用 for 循环迭代元组【英文标题】:Not able to iterate a tuple using for loop 【发布时间】:2020-08-09 20:17:11 【问题描述】:

为什么我不能迭代我输入的元组,因为使用 for 循环打印整个元组

t=tuple(eval(x) for x in input("enter values").split())
for i in t:
    print(i)

【问题讨论】:

你是如何输入数字的? 1 2 31, 2, 3 ?? 你得到错误还是什么?始终将完整的错误消息(从“Traceback”一词开始)作为文本(不是屏幕截图)提出问题(不是评论)。还有其他有用的信息。 总是显示您使用的示例数据(显示有问题,不在评论中)。 能否提供预期的输入和对应的输出? 初学者必填:Eval really is dangerous 【参考方案1】:

您可以直接从输入创建一个元组,然后遍历下面给出的 for 循环

from ast import literal_eval as make_tuple

t = make_tuple(input("enter values"))
for i in t:
   print(i)

【讨论】:

以上是关于无法使用 for 循环迭代元组的主要内容,如果未能解决你的问题,请参考以下文章

OpenMP 无法使用映射迭代器并行化 for 循环

无法从嵌套for循环访问父for循环

Python入门之控制结构 - 循环结构——第4关:迭代器

for循环增强for循环和迭代器的区别

在 Python 中使用 for 循环计算元组列表的平均值

我应该使用迭代器还是 for 循环来迭代?