【发布时间】:2020-02-06 06:38:12
【问题描述】:
我正在尝试使用索引来迭代列表理解元组以引用每个元组及其相关长度,然后打印出元组列表中的每个元素,但 python 不接受这一点。我是 Comp sci 专业的,但大约 10 年前,我们学习了 C++ 和 Java,所以对 python 还是很陌生:
q = 0
productResourcePairs = [(x, y) for x in [1,2,3] for y in [3,1,4]]
for p in productResourcePairs:
for i in range(len(productResourcePairs(p))):
print(productResourcePairs[q][i])
q = q + 1
我只是想获取每个元组的长度,然后使用 [][] 打印出它的对应值,然后移动到下一个元组。
Python 抛出以下错误:
Traceback(最近一次调用最后一次): 对于我在范围内(len(productResourcePairs(p))): TypeError: 'list' 对象不可调用
它现在正在工作,只需注意修复和底部调用就可以将其关闭,对于元组产生相同的结果:
for p in productResourcePairs:
for i in range(len(p)):
print(p[i])
print(productResourcePairs[q][i])
q = q + 1
【问题讨论】:
-
“python 不接受这个” - 在什么意义上?它会给出错误的结果,或者引发错误,或者陷入无限循环,还是其他什么?请编辑问题以提供完整的详细信息;见How to Ask 和minimal reproducible example。
-
而不是
productResourcePairs(p)也许你的意思是productResourcePairs[p]?括号用于调用函数,括号用于获取列表的元素。 -
您能否举一个您希望看到的输出示例?
-
我认为他的意思是
for i in range(len(p)) -
是的 pSgold 你是对的,它现在工作了,但为什么我不能在 len() 中引用 productResourcePairs(p) 的元组,如果 p 变量本身是由 for 定义的元组循环?
标签: python python-3.x