πŸ”Ž Как Π½Π°ΠΉΡ‚ΠΈ индСксы ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²Ρ‹Ρ… элСмСнтов Π² массивС Python πŸ‘₯

Π§Ρ‚ΠΎΠ±Ρ‹ Π½Π°ΠΉΡ‚ΠΈ индСксы ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²Ρ‹Ρ… элСмСнтов Π² массивС Python, ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ ΠΊΠΎΠ΄:


array = [1, 2, 3, 4, 2, 5, 4]
duplicates = []
indexes = []

for i in range(len(array)):
    if array[i] in duplicates:
        indexes.append(i)
    else:
        duplicates.append(array[i])

print("Π˜Π½Π΄Π΅ΠΊΡΡ‹ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²Ρ‹Ρ… элСмСнтов:", indexes)
    

Π’ этом ΠΊΠΎΠ΄Π΅ ΠΌΡ‹ создаСм Π΄Π²Π° списка: duplicates ΠΈ indexes. ΠœΡ‹ ΠΏΡ€ΠΎΡ…ΠΎΠ΄ΠΈΠΌ ΠΏΠΎ ΠΊΠ°ΠΆΠ΄ΠΎΠΌΡƒ элСмСнту Π² массивС. Если элСмСнт ΡƒΠΆΠ΅ присутствуСт Π² спискС duplicates, Ρ‚ΠΎ ΠΌΡ‹ добавляСм Π΅Π³ΠΎ индСкс Π² список indexes. Π’ ΠΏΡ€ΠΎΡ‚ΠΈΠ²Π½ΠΎΠΌ случаС, ΠΌΡ‹ добавляСм Π΅Π³ΠΎ Π² список duplicates. ПослС ΠΏΡ€ΠΎΡ…ΠΎΠ΄Π° ΠΏΠΎ всСм элСмСнтам, ΠΌΡ‹ Π²Ρ‹Π²ΠΎΠ΄ΠΈΠΌ индСксы ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²Ρ‹Ρ… элСмСнтов.

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

Π’ Python Π΅ΡΡ‚ΡŒ нСсколько способов Π½Π°ΠΉΡ‚ΠΈ индСксы ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²Ρ‹Ρ… элСмСнтов Π² массивС. Π”Π°Π²Π°ΠΉΡ‚Π΅ рассмотрим нСсколько ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ².

ΠœΠ΅Ρ‚ΠΎΠ΄ 1: ИспользованиС Ρ†ΠΈΠΊΠ»Π° for

МоТно ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ†ΠΈΠΊΠ» for для ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ элСмСнта массива ΠΈ сохранСния Π΅Π³ΠΎ индСкса, Ссли элСмСнт повторяСтся. Π’ΠΎΡ‚ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ ΠΊΠΎΠ΄Π°:


def find_duplicates1(arr):
    duplicates = []
    
    for i in range(len(arr)):
        for j in range(i + 1, len(arr)):
            if arr[i] == arr[j]:
                duplicates.append(i)
                duplicates.append(j)
    
    return duplicates

Π’ этом ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ ΠΌΡ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ Π΄Π²Π° Π²Π»ΠΎΠΆΠ΅Π½Π½Ρ‹Ρ… Ρ†ΠΈΠΊΠ»Π° for. ΠŸΠ΅Ρ€Π²Ρ‹ΠΉ Ρ†ΠΈΠΊΠ» ΠΏΡ€ΠΎΡ…ΠΎΠ΄ΠΈΡ‚ ΠΏΠΎ всСм элСмСнтам массива, Π° Π²Ρ‚ΠΎΡ€ΠΎΠΉ Ρ†ΠΈΠΊΠ» сравниваСт Ρ‚Π΅ΠΊΡƒΡ‰ΠΈΠΉ элСмСнт с ΠΎΡΡ‚Π°Π»ΡŒΠ½Ρ‹ΠΌΠΈ. Если Π½Π°ΠΉΠ΄Π΅Π½Ρ‹ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²Ρ‹Π΅ элСмСнты, ΠΈΡ… индСксы Π΄ΠΎΠ±Π°Π²Π»ΡΡŽΡ‚ΡΡ Π² список duplicates. ПослС Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡ Ρ†ΠΈΠΊΠ»ΠΎΠ² список duplicates содСрТит всС индСксы ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²Ρ‹Ρ… элСмСнтов.

ΠœΠ΅Ρ‚ΠΎΠ΄ 2: ИспользованиС ΠΌΠ΅Ρ‚ΠΎΠ΄Π° enumerate

Python ΠΈΠΌΠ΅Π΅Ρ‚ Π²ΡΡ‚Ρ€ΠΎΠ΅Π½Π½ΡƒΡŽ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ enumerate, которая позволяСт ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ индСксы элСмСнтов массива вмСстС с ΠΈΡ… значСниями. МоТно ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ эту Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ для поиска ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²Ρ‹Ρ… элСмСнтов. Π’ΠΎΡ‚ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ ΠΊΠΎΠ΄Π°:


def find_duplicates2(arr):
    duplicates = []
    
    for i, value in enumerate(arr):
        for j in range(i + 1, len(arr)):
            if value == arr[j]:
                duplicates.append(i)
                duplicates.append(j)
    
    return duplicates

Π’ этом ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ ΠΌΡ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ enumerate, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ индСксы ΠΈ значСния ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ элСмСнта массива. Π—Π°Ρ‚Π΅ΠΌ ΠΌΡ‹ сравниваСм значСния, Π°Π½Π°Π»ΠΎΠ³ΠΈΡ‡Π½ΠΎ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρƒ 1, ΠΈ добавляСм индСксы Π² список duplicates.

ΠœΠ΅Ρ‚ΠΎΠ΄ 3: ИспользованиС Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ count

Если Π²Π°ΠΌ Π½Π΅ трСбуСтся ΡΠΎΡ…Ρ€Π°Π½ΡΡ‚ΡŒ индСксы ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²Ρ‹Ρ… элСмСнтов, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ count, которая считаСт количСство Π²Ρ…ΠΎΠΆΠ΄Π΅Π½ΠΈΠΉ элСмСнта Π² массивС. Π’ΠΎΡ‚ ΠΊΠ°ΠΊ это ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ:


def find_duplicates3(arr):
    duplicates = []
    
    for value in arr:
        if arr.count(value) > 1:
            duplicates.append(value)
    
    return duplicates

Π’ этом ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ ΠΌΡ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ Ρ†ΠΈΠΊΠ» for для ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ элСмСнта массива. Если элСмСнт встрСчаСтся Π±ΠΎΠ»Π΅Π΅ ΠΎΠ΄Π½ΠΎΠ³ΠΎ Ρ€Π°Π·Π° (Π΅Π³ΠΎ количСство Π²Ρ…ΠΎΠΆΠ΄Π΅Π½ΠΈΠΉ Π² массивС большС 1), ΠΌΡ‹ добавляСм Π΅Π³ΠΎ Π² список duplicates.

Π’ΠΎΡ‚ Ρ‚Ρ€ΠΈ способа Π½Π°ΠΉΡ‚ΠΈ индСксы ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²Ρ‹Ρ… элСмСнтов Π² массивС Π² Python. Π’Ρ‹Π±Π΅Ρ€ΠΈΡ‚Π΅ Ρ‚ΠΎΡ‚, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π»ΡƒΡ‡ΡˆΠ΅ всСго соотвСтствуСт вашим потрСбностям ΠΈ трСбованиям.

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

Python. Бписки. Π˜Π½Π΄Π΅ΠΊΡΡ‹

5 способов поиска элСмСнта Π² спискС python (ΠΏΠΈΡ‚ΠΎΠ½)

Как Π½Π°ΠΉΡ‚ΠΈ ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹ΠΉ элСмСнт Π² спискС Python

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

πŸ”₯ Как Ρ€Π°ΡΠΏΠ°ΠΊΠΎΠ²Π°Ρ‚ΡŒ gz Ρ„Π°ΠΉΠ» Π² Python: Π»Π΅Π³ΠΊΠΈΠΉ способ для Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‰ΠΈΡ…

πŸ” Как ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΡŒ ΠΊΠΎΠ΄ Ρ„Π°ΠΉΠ»Π° python: ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎΠ΅ руководство для Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‰ΠΈΡ…

Как Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ структуру Π΄Π°Π½Π½Ρ‹Ρ…, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ с Π΄Π°Π½Π½Ρ‹ΠΌΠΈ ΠΊΠ°ΠΊ со стСком Π² Python?

πŸ”Ž Как Π½Π°ΠΉΡ‚ΠΈ индСксы ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²Ρ‹Ρ… элСмСнтов Π² массивС Python πŸ‘₯

Как ΠΈΠ·Π±Π°Π²ΠΈΡ‚ΡŒΡΡ ΠΎΡ‚ запятых Π² спискС python? 🐍

πŸ”’ Как ΠΏΠΎΡΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ количСство Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ Π² Python: простой способ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Python

πŸ’‘ Как ΠΏΠΎΡΡ‚Π°Π²ΠΈΡ‚ΡŒ Π·Π°Π΄Π΅Ρ€ΠΆΠΊΡƒ Π² Python: простой способ с использованиСм Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ time.sleep