为Lis中的元组分配变量

2024-05-23 22:47:37 发布

您现在位置:Python中文网/ 问答频道 /正文

我目前正在使用一个函数来返回元组列表(坐标)。我需要分配这些坐标变量,以便在for循环中使用它们

我的职能是:

new_connect = astar.get_path(n1x, n1y, n2x, n2y)

print(new_connect)我得到输出:

[(76, 51), (75, 51), (74, 51), (73, 51), (72, 51), (71, 51), (70, 51), (69, 51), ...]

我需要分配这些元组变量,即(x,y)
因此它们可以用于以下for循环:

for x in range(new_connect):
    for y in range(new_connect):
        self.tiles[x][y].blocked = False
        self.tiles[x][y].block_sight = False

绘制坐标并更改其平铺值

非常感谢您的帮助。我一直在做这个,觉得我错过了一些超级简单的东西


Tags: path函数inselffalse列表newfor
2条回答

你可以用拆包

new_connect = [(76, 51), (75, 51), (74, 51), (73, 51), (72, 51), (71, 51), (70, 51), (69, 51)]
for x, y in new_connect:
    print(x, y)

因此,目前还不清楚range(new_connect)实际上是如何工作的。不应该。您应该收到一个TypeError,因为list对象不是range的正确参数

也就是说,您应该能够通过在for语句本身中执行元组解包来为元组列表创建for循环

for x, y in astar.get_path(...):
    ...

相关问题 更多 >