Mam listę list, coś w rodzajuOkreślanie sąsiadów dwuwymiarowej listy komórek
[[1, 2, 3,],[4, 5, 6,],[7, 8, 9]]
.
przedstawić w formie graficznej jak:
1 2 3
4 5 6
7 8 9
szukam eleganckim podejście do sprawdzania wartości sąsiadów komórce, poziomo, pionowo i na ukos. Na przykład, sąsiadami [0] [2] są [0] [1], [1] [1] i [1] [2] lub liczby 2, 5, 6.
Teraz zdaję sobie sprawę, że ja może po prostu zrobić ataku Bruteforce kontrolowanie każdej wartości a la:
[i-1][j]
[i][j-1]
[i-1][j-1]
[i+1][j]
[i][j+1]
[i+1][j+1]
[i+1][j-1]
[i-1][j+1]
Ale to łatwe, i pomyślałem, mogę dowiedzieć się więcej, widząc jakieś bardziej eleganckie podejść.
Czy chcesz uzyskać indeksy lub wartości? I czy chcesz funkcji, która może wykonywać losowy dostęp do każdego indeksu lub funkcji, która zwraca listę par (val, sąsiedzi_z_val)? - Po prostu uzyskanie indeksów jest zbyt proste, aby uzyskać eleganckie rozwiązanie, ale to, co naprawdę chcesz zrobić, może być ciekawsze. –
Albo - celowo zostawiłem to pytanie dość ogólnie, aby ludzie nie czuli się ograniczeni. –