sand/a.py
2024-02-26 21:14:50 +01:00

31 lines
817 B
Python

def finde_nachbarn(matrix, element):
x, y = element
nachbarn = []
for i in range(-1, 2):
for j in range(-1, 2):
nachbar_x = x + i
nachbar_y = y + j
# Clipping für den Rand der Matrix anwenden
nachbar_x = max(0, min(nachbar_x, len(matrix) - 1))
nachbar_y = max(0, min(nachbar_y, len(matrix[0]) - 1))
if (i != 0 or j != 0): # Dies schließt das aktuelle Element aus
nachbarn.append([nachbar_x, nachbar_y])
return nachbarn
# Beispiel Verwendung:
matrix = [
[1, 2, 3, 4, 5],
[6, 7, 8, 9, 10],
[11, 12, 13, 14, 15],
[16, 17, 18, 19, 20],
[21, 22, 23, 24, 25]
]
element = [0, 0] # Die Position 2,2 als Liste angegeben
nachbarn = finde_nachbarn(matrix, element)
print(nachbarn)