πŸ” Как Π½Π°ΠΉΡ‚ΠΈ сосСдСй Π² ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Π΅ Python | Поиск сосСдСй Π² Python-ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Π΅

Π§Ρ‚ΠΎΠ±Ρ‹ Π½Π°ΠΉΡ‚ΠΈ сосСдСй Π² ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Π΅ Π² Python, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ индСксы элСмСнтов ΠΈ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΡΡ‚ΡŒ сосСдниС значСния.

matrix = [
    [1, 2, 3],
    [4, 5, 6],
    [7, 8, 9]
]

def get_neighbors(matrix, row, col):
    neighbors = []
    
    # ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° сосСда слСва
    if col > 0:
        neighbors.append(matrix[row][col-1])
    
    # ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° сосСда справа
    if col < len(matrix[0]) - 1:
        neighbors.append(matrix[row][col+1])
    
    # ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° сосСда свСрху
    if row > 0:
        neighbors.append(matrix[row-1][col])
    
    # ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° сосСда снизу
    if row < len(matrix) - 1:
        neighbors.append(matrix[row+1][col])
    
    return neighbors

row_index = 1
col_index = 1
neighbors = get_neighbors(matrix, row_index, col_index)
print(f"БосСди элСмСнта matrix[{row_index}][{col_index}]: {neighbors}")

Π”Π΅Ρ‚Π°Π»ΡŒΠ½Ρ‹ΠΉ ΠΎΡ‚Π²Π΅Ρ‚

Как Π½Π°ΠΉΡ‚ΠΈ сосСдСй Π² ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Π΅ Python

Π”ΠΎΠ±Ρ€ΠΎ ΠΏΠΎΠΆΠ°Π»ΠΎΠ²Π°Ρ‚ΡŒ Π² ΡΡ‚Π°Ρ‚ΡŒΡŽ, Π³Π΄Π΅ ΠΌΡ‹ Ρ€Π°Π·Π±Π΅Ρ€Π΅ΠΌ, ΠΊΠ°ΠΊ Π½Π°ΠΉΡ‚ΠΈ сосСдСй для ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ элСмСнта Π² ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Π΅, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ язык программирования Python. Π’Π°ΠΌ потрСбуСтся ΠΏΠΎΠ½ΠΈΠΌΠ°Π½ΠΈΠ΅ основ Ρ€Π°Π±ΠΎΡ‚Ρ‹ с ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Π°ΠΌΠΈ, Π° Ρ‚Π°ΠΊΠΆΠ΅ Π·Π½Π°Π½ΠΈΠ΅ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ² ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ Π² Python.

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Π°?

ΠœΠ°Ρ‚Ρ€ΠΈΡ†Π° - это Π΄Π²ΡƒΠΌΠ΅Ρ€Π½Ρ‹ΠΉ массив, состоящий ΠΈΠ· элСмСнтов, Ρ€Π°Π·Π΄Π΅Π»Π΅Π½Π½Ρ‹Ρ… строками ΠΈ столбцами. Π’ Python ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρƒ Π² Π²ΠΈΠ΄Π΅ списка списков.


matrix = [[1, 2, 3],
          [4, 5, 6],
          [7, 8, 9]]
    

Π’ ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π½ΠΎΠΌ Π²Ρ‹ΡˆΠ΅ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ ΠΌΡ‹ ΠΈΠΌΠ΅Π΅ΠΌ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρƒ Ρ€Π°Π·ΠΌΠ΅Ρ€ΠΎΠΌ 3x3, Π³Π΄Π΅ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ элСмСнт прСдставлСн числом. Π§Ρ‚ΠΎΠ±Ρ‹ Π½Π°ΠΉΡ‚ΠΈ сосСдСй ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ элСмСнта Π² ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Π΅, ΠΌΡ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Ρ€Π°Π·ΠΎΠ±Ρ€Π°Ρ‚ΡŒΡΡ с индСксациСй ΠΈ доступом ΠΊ элСмСнтам.

Как Π½Π°ΠΉΡ‚ΠΈ сосСдСй элСмСнта Π² ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Π΅?

БосСди элСмСнта Π² ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Π΅ - это элСмСнты, располоТСнныС рядом с Π΄Π°Π½Π½Ρ‹ΠΌ элСмСнтом. Π’ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Π΅ с элСмСнтами Π² Π²ΠΈΠ΄Π΅ списка списков, сосСди элСмСнта ΠΌΠΎΠ³ΡƒΡ‚ Π½Π°Ρ…ΠΎΠ΄ΠΈΡ‚ΡŒΡΡ свСрху, снизу, слСва ΠΈ справа ΠΎΡ‚ Π½Π΅Π³ΠΎ.

Π”Π°Π²Π°ΠΉΡ‚Π΅ рассмотрим ΠΌΠ΅Ρ‚ΠΎΠ΄, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ позволяСт Π½Π°ΠΉΡ‚ΠΈ сосСдСй для ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ элСмСнта Π² ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Π΅.


def find_neighbors(matrix, row, col):
    neighbors = []
    
    # ΠŸΡ€ΠΎΠ²Π΅Ρ€ΡΠ΅ΠΌ сосСда свСрху
    if row > 0:
        neighbors.append(matrix[row-1][col])
    
    # ΠŸΡ€ΠΎΠ²Π΅Ρ€ΡΠ΅ΠΌ сосСда снизу
    if row < len(matrix) - 1:
        neighbors.append(matrix[row+1][col])
    
    # ΠŸΡ€ΠΎΠ²Π΅Ρ€ΡΠ΅ΠΌ сосСда слСва
    if col > 0:
        neighbors.append(matrix[row][col-1])
    
    # ΠŸΡ€ΠΎΠ²Π΅Ρ€ΡΠ΅ΠΌ сосСда справа
    if col < len(matrix[0]) - 1:
        neighbors.append(matrix[row][col+1])
    
    return neighbors
    
# ΠŸΡ€ΠΈΠΌΠ΅Ρ€ использования Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ
matrix = [[1, 2, 3],
          [4, 5, 6],
          [7, 8, 9]]
row = 1
col = 1
result = find_neighbors(matrix, row, col)
print(result)
    

Π’ ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π½ΠΎΠΌ Π²Ρ‹ΡˆΠ΅ ΠΊΠΎΠ΄Π΅ ΠΌΡ‹ опрСдСляСм Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ find_neighbors, которая ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Π΅Ρ‚ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρƒ, Π½ΠΎΠΌΠ΅Ρ€ строки ΠΈ Π½ΠΎΠΌΠ΅Ρ€ столбца Π² качСствС ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ². Ѐункция ΠΏΡ€ΠΎΡ…ΠΎΠ΄ΠΈΡ‚ Ρ‡Π΅Ρ€Π΅Π· ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ сосСда ΠΈ добавляСт Π΅Π³ΠΎ Π² список neighbors. Π—Π°Ρ‚Π΅ΠΌ список сосСдСй возвращаСтся ΠΊΠ°ΠΊ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ Ρ€Π°Π±ΠΎΡ‚Ρ‹ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ.

Π’ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ использования Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΌΡ‹ создаСм ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρƒ ΠΈ ΠΏΠ΅Ρ€Π΅Π΄Π°Π΅ΠΌ ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚Ρ‹ элСмСнта, для ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ ΠΌΡ‹ Ρ…ΠΎΡ‚ΠΈΠΌ Π½Π°ΠΉΡ‚ΠΈ сосСдСй. Ѐункция Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ список сосСдСй, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΌΡ‹ Π²Ρ‹Π²ΠΎΠ΄ΠΈΠΌ Π½Π° экран.

Π—Π°ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅

Π’ этой ΡΡ‚Π°Ρ‚ΡŒΠ΅ ΠΌΡ‹ рассмотрСли, ΠΊΠ°ΠΊ Π½Π°ΠΉΡ‚ΠΈ сосСдСй для ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ элСмСнта Π² ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Π΅ Python. ΠœΡ‹ ΠΈΠ·ΡƒΡ‡ΠΈΠ»ΠΈ, ΠΊΠ°ΠΊ ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρƒ Π² Π²ΠΈΠ΄Π΅ списка списков, Π° Ρ‚Π°ΠΊΠΆΠ΅ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π»ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ для поиска сосСдСй. Π’Π΅ΠΏΠ΅Ρ€ΡŒ Π²Ρ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΠΈΠΌΠ΅Ρ‚ΡŒ достаточно Π·Π½Π°Π½ΠΈΠΉ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΡ€ΠΈΠΌΠ΅Π½ΠΈΡ‚ΡŒ это Π² своих ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°Ρ… ΠΈ Π·Π°Π΄Π°Ρ‡Π°Ρ….

УспСхов Π² ΠΈΠ·ΡƒΡ‡Π΅Π½ΠΈΠΈ программирования!

Π’ΠΈΠ΄Π΅ΠΎ ΠΏΠΎ Ρ‚Π΅ΠΌΠ΅

29 Π’Π»ΠΎΠΆΠ΅Π½Π½Ρ‹Π΅ списки Python

РСшСниС Π·Π°Π΄Π°Ρ‡ Π½Π° Python. Π§Π°ΡΡ‚ΡŒ 1. Scikit-learn (sklearn) - Π½Π°Ρ…ΠΎΠΆΠ΄Π΅Π½ΠΈΠ΅ Π±Π»ΠΈΠΆΠ°ΠΉΡˆΠΈΡ… сосСдСй

ΠœΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹ Π½Π° ΠΏΠ°Π»ΡŒΡ†Π°Ρ…. ΠžΡΠ½ΠΎΠ²Π½Ρ‹Π΅ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ с ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Π°ΠΌΠΈ Π² Python [ΠœΠ°Ρ‚Π΅ΠΌΠ°Ρ‚ΠΈΠΊΠ° для машинного обучСния]

ΠŸΠΎΡ…ΠΎΠΆΠΈΠ΅ ΡΡ‚Π°Ρ‚ΡŒΠΈ:

πŸ” Как ΠΏΡ€Π΅Π²Ρ€Π°Ρ‚ΠΈΡ‚ΡŒ строку Π² список Π² Python? 🐍

πŸ”§ Как ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ paramiko python: ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎΠ΅ руководство для Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‰ΠΈΡ…

πŸ”€ Python: Как Ρ€Π°Π½Π΄ΠΎΠΌΠ½ΠΎ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅ΡˆΠ°Ρ‚ΡŒ список?

πŸ” Как Π½Π°ΠΉΡ‚ΠΈ сосСдСй Π² ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Π΅ Python | Поиск сосСдСй Π² Python-ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Π΅

ΠŸΠΎΡ‡Π΅ΠΌΡƒ Python Π½Π΅ скачиваСтся? πŸπŸ€”

πŸ” Как ΡΠΆΠ°Ρ‚ΡŒ строку Π² ΠŸΠΈΡ‚ΠΎΠ½Π΅: простоС руководство ΠΈ совСты πŸ”§

Как Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½Π°Ρ машина Python? πŸ–₯️🐍 Π£Π·Π½Π°ΠΉ всС подробности здСсь!