如何将21x21的数组内的所有坐标和一个数组[(9, 3), (5, 15), (5, 1), (13, 1), (15, 19), (11, 17), (7, 19), (15, 5)]内的坐标做对比若有坐标相同的则打印相同的坐标
时间: 2023-09-20 19:11:01 浏览: 97
可以使用两个嵌套的for循环来遍历数组和坐标列表,若有坐标相同,则打印相同的坐标。代码如下:
```python
mazelist = [[0 for _ in range(21)] for _ in range(21)]
coordinates = [(9, 3), (5, 15), (5, 1), (13, 1), (15, 19), (11, 17), (7, 19), (15, 5)]
for i in range(len(mazelist)):
for j in range(len(mazelist[i])):
if mazelist[i][j] == 1: # 如果该坐标是障碍物或者墙壁,则跳过该坐标
continue
if (i, j) in coordinates: # 如果坐标相同,则打印该坐标
print((i, j))
```
这段代码遍历了整个二维列表,对于每个坐标,如果该坐标是障碍物或者墙壁,则跳过该坐标。如果该坐标在坐标列表中,则打印该坐标。
相关问题
如何将数组[(9, 3), (5, 15), (5, 1), (13, 1), (15, 19), (11, 17), (7, 19), (15, 5)]和一个21x21的数组内的坐标做对比若有坐标相同的则退出for循环并打印相同的坐标
可以通过以下代码实现:
```python
arr = [(9, 3), (5, 15), (5, 1), (13, 1), (15, 19), (11, 17), (7, 19), (15, 5)]
coord_arr = [[0]*21 for _ in range(21)] # 初始化21x21的数组,所有元素均为0
for coord in arr:
x, y = coord
if coord_arr[x][y] != 0: # 如果该坐标已经被占用
print("相同的坐标为:", coord)
break
else:
coord_arr[x][y] = 1 # 标记该坐标已经被占用
```
首先,我们初始化一个21x21的数组`coord_arr`,所有元素均为0。然后,我们遍历数组`arr`中的每个坐标,提取其横、纵坐标`x`和`y`。如果`coord_arr[x][y]`不为0,说明该坐标已经被占用,此时我们打印出相同的坐标并退出循环。否则,我们标记该坐标已经被占用,即将`coord_arr[x][y]`赋值为1。
如何将21x21的数组和一个数组[(9, 3), (5, 15), (5, 1), (13, 1), (15, 19), (11, 17), (7, 19), (15, 5)]内的坐标做对比若有坐标相同的则退出for循环并打印相同的坐标
可以使用两个嵌套的for循环来遍历数组和坐标列表,若有坐标相同,则退出循环并打印相同的坐标。代码如下:
```python
mazelist = [[0 for _ in range(21)] for _ in range(21)]
coordinates = [(9, 3), (5, 15), (5, 1), (13, 1), (15, 19), (11, 17), (7, 19), (15, 5)]
for i in range(len(coordinates)):
x, y = coordinates[i]
if mazelist[x][y] == 1: # 如果该坐标是障碍物或者墙壁,则跳过该坐标
continue
for j in range(i + 1, len(coordinates)):
x2, y2 = coordinates[j]
if x == x2 and y == y2: # 如果坐标相同,则退出循环并打印该坐标
print((x, y))
break
else:
continue
break # 如果找到了相同的坐标,则退出外层循环
```
阅读全文