31 lines
817 B
Python
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)
|