【发布时间】:2019-02-21 18:46:26
【问题描述】:
我想检查一个元组的值。除了检查每个元组的每个值之外,我还需要将一个元组中的最后一个元素与下一个元组中的第一个元素进行比较。
我可以迭代一个元组的元组而不将其展平成一个列表吗?
flattened_tuple = [element for tupl in tupleOfTuples for element in tupl]
for i in range(len(flattened_tuple)-1):
print(flattened_tuple[i], flattened_tuple[i+1])
这是我想出的,它不会展平为列表,但我无法将一个元组的最后一个元素与下一个元组的第一个元素进行比较:
for row in tuple_of_tuples:
for i, element in enumerate(tuple_of_tuples):
print(row[i], row[i+1])
对于元组的元组:((0,1,2),(3,4,5),(6,7,8)),我得到这个错误:
0 1
1 2
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "npuzzle.py", line 67, in goal_test
print(row[i], row[i+1])
IndexError: tuple index out of range
【问题讨论】:
-
嵌套的
for循环?我们需要更多信息才能从这里开始。 -
给我们看一些代码,你试过什么?
-
嘘尝试一下
-
不要命名变量
list、max、min、dict等等 - 你隐藏了内置函数并遇到问题
标签: python python-3.x iterator tuples