πŸ”Ž Как ΠΈΠ·Π±Π°Π²ΠΈΡ‚ΡŒΡΡ ΠΎΡ‚ ΠΏΠΎΠ²Ρ‚ΠΎΡ€ΠΎΠ² Π² листС Π½Π° Python: простой Π³ΠΈΠ΄

ΠΊΠ°ΠΊ ΡƒΠ±Ρ€Π°Ρ‚ΡŒ ΠΏΠΎΠ²Ρ‚ΠΎΡ€Ρ‹ Π² листС ΠΏΠΈΡ‚ΠΎΠ½

Для удалСния ΠΏΠΎΠ²Ρ‚ΠΎΡ€ΡΡŽΡ‰ΠΈΡ…ΡΡ элСмСнтов Π² спискС Π² Python Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ set(). Π’ΠΎΡ‚ ΠΏΡ€ΠΈΠΌΠ΅Ρ€:

my_list = [1, 2, 3, 3, 4, 5, 5]
unique_list = list(set(my_list))
print(unique_list)

Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ΠΎΠΌ Π±ΡƒΠ΄Π΅Ρ‚ список, содСрТащий Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΡƒΠ½ΠΈΠΊΠ°Π»ΡŒΠ½Ρ‹Π΅ элСмСнты:

[1, 2, 3, 4, 5]

Π’Ρ‹ Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡΠΎΡ…Ρ€Π°Π½ΠΈΡ‚ΡŒ порядок элСмСнтов, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ ΠΌΠΎΠ΄ΡƒΠ»ΡŒ collections ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ OrderedDict(). Π’ΠΎΡ‚ ΠΏΡ€ΠΈΠΌΠ΅Ρ€:

from collections import OrderedDict

my_list = [1, 2, 3, 3, 4, 5, 5]
unique_list = list(OrderedDict.fromkeys(my_list))
print(unique_list)

Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ Π±ΡƒΠ΄Π΅Ρ‚ Ρ‚Π°ΠΊΠΈΠΌ ΠΆΠ΅:

[1, 2, 3, 4, 5]

ΠŸΡ€ΠΈ использовании этих ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ², Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π»Π΅Π³ΠΊΠΎ ΡƒΠ΄Π°Π»ΠΈΡ‚ΡŒ ΠΏΠΎΠ²Ρ‚ΠΎΡ€ΡΡŽΡ‰ΠΈΠ΅ΡΡ элСмСнты ΠΈΠ· списка Π² Python.

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

Как ΡƒΠ±Ρ€Π°Ρ‚ΡŒ ΠΏΠΎΠ²Ρ‚ΠΎΡ€Ρ‹ Π² листС ΠΏΠΈΡ‚ΠΎΠ½

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

ΠœΠ΅Ρ‚ΠΎΠ΄ 1: ИспользованиС мноТСства

Один ΠΈΠ· самых простых ΠΈ эффСктивных способов ΡƒΠ΄Π°Π»ΠΈΡ‚ΡŒ ΠΏΠΎΠ²Ρ‚ΠΎΡ€ΡΡŽΡ‰ΠΈΠ΅ΡΡ элСмСнты Π² спискС - это использованиС мноТСства. ΠœΠ½ΠΎΠΆΠ΅ΡΡ‚Π²ΠΎ - это коллСкция, которая содСрТит Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΡƒΠ½ΠΈΠΊΠ°Π»ΡŒΠ½Ρ‹Π΅ элСмСнты. Π’ Python ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Ρ‚ΡŒ список Π² мноТСство ΠΈ Π·Π°Ρ‚Π΅ΠΌ ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎ Π² список, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡƒΠ±Ρ€Π°Ρ‚ΡŒ ΠΏΠΎΠ²Ρ‚ΠΎΡ€Ρ‹.


lst = [1, 2, 3, 1, 2, 4, 5, 4, 6]
unique_lst = list(set(lst))
print(unique_lst)
    

Π’Ρ‹Π²ΠΎΠ΄:


[1, 2, 3, 4, 5, 6]
    

Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, ΠΌΡ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠ»ΠΈ Π½ΠΎΠ²Ρ‹ΠΉ список unique_lst, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ содСрТит Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΡƒΠ½ΠΈΠΊΠ°Π»ΡŒΠ½Ρ‹Π΅ значСния ΠΈΠ· исходного списка lst.

ΠœΠ΅Ρ‚ΠΎΠ΄ 2: ИспользованиС Π³Π΅Π½Π΅Ρ€Π°Ρ‚ΠΎΡ€Π° списка

Π”Ρ€ΡƒΠ³ΠΎΠΉ способ удалСния Π΄ΡƒΠ±Π»ΠΈΠΊΠ°Ρ‚ΠΎΠ² - ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π³Π΅Π½Π΅Ρ€Π°Ρ‚ΠΎΡ€ списка. Π“Π΅Π½Π΅Ρ€Π°Ρ‚ΠΎΡ€ списка - это ΠΊΠΎΠΌΠΏΠ°ΠΊΡ‚Π½Ρ‹ΠΉ способ создания Π½ΠΎΠ²ΠΎΠ³ΠΎ списка Π½Π° основС ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰Π΅Π³ΠΎ списка ΠΈΠ»ΠΈ Π΄Ρ€ΡƒΠ³ΠΎΠΉ ΠΈΡ‚Π΅Ρ€ΠΈΡ€ΡƒΠ΅ΠΌΠΎΠΉ ΠΊΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΠΈ. ΠœΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π³Π΅Π½Π΅Ρ€Π°Ρ‚ΠΎΡ€ списка с условиСм, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ, содСрТится Π»ΠΈ элСмСнт ΡƒΠΆΠ΅ Π² Π½ΠΎΠ²ΠΎΠΌ спискС. Если элСмСнт отсутствуСт, ΠΌΡ‹ добавляСм Π΅Π³ΠΎ Π² Π½ΠΎΠ²Ρ‹ΠΉ список.


lst = [1, 2, 3, 1, 2, 4, 5, 4, 6]
unique_lst = [x for i, x in enumerate(lst) if x not in lst[:i]]
print(unique_lst)
    

Π’Ρ‹Π²ΠΎΠ΄:


[1, 2, 3, 4, 5, 6]
    

ΠœΡ‹ использовали Π³Π΅Π½Π΅Ρ€Π°Ρ‚ΠΎΡ€ списка Π² этом ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ Π½ΠΎΠ²Ρ‹ΠΉ список unique_lst. ΠœΡ‹ провСряСм, содСрТится Π»ΠΈ Ρ‚Π΅ΠΊΡƒΡ‰ΠΈΠΉ элСмСнт (x) Π² подспискС lst[:i] (это подсписок ΠΎΡ‚ Π½Π°Ρ‡Π°Π»Π° Π΄ΠΎ Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π³ΠΎ индСкса). Если элСмСнт Π½Π΅ содСрТится, ΠΌΡ‹ добавляСм Π΅Π³ΠΎ Π² Π½ΠΎΠ²Ρ‹ΠΉ список unique_lst.

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

Python Ρ‚Π°ΠΊΠΆΠ΅ прСдоставляСт Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ filter, которая ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ использована для удалСния ΠΏΠΎΠ²Ρ‚ΠΎΡ€ΡΡŽΡ‰ΠΈΡ…ΡΡ элСмСнтов ΠΈΠ· списка. Ѐункция filter ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Π΅Ρ‚ Π΄Π²Π° Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Π°: Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ-Ρ„ΠΈΠ»ΡŒΡ‚Ρ€ ΠΈ ΠΈΡ‚Π΅Ρ€ΠΈΡ€ΡƒΠ΅ΠΌΡ‹ΠΉ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚. ΠœΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ-Ρ„ΠΈΠ»ΡŒΡ‚Ρ€, которая Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΡΡ‚ΡŒ, содСрТится Π»ΠΈ элСмСнт Π² ΡƒΠΆΠ΅ созданном спискС unique_lst, ΠΈ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‚ΡŒ эту Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ Π² filter вмСстС с исходным списком.


def is_unique(x):
    return x not in unique_lst

lst = [1, 2, 3, 1, 2, 4, 5, 4, 6]
unique_lst = list(filter(is_unique, lst))
print(unique_lst)
    

Π’Ρ‹Π²ΠΎΠ΄:


[1, 2, 3, 4, 5, 6]
    

ΠœΡ‹ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΠ»ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ-Ρ„ΠΈΠ»ΡŒΡ‚Ρ€ is_unique, которая провСряСт, содСрТится Π»ΠΈ элСмСнт ΡƒΠΆΠ΅ Π² Π½ΠΎΠ²ΠΎΠΌ спискС unique_lst. Π—Π°Ρ‚Π΅ΠΌ ΠΌΡ‹ ΠΏΠ΅Ρ€Π΅Π΄Π°Π΅ΠΌ эту Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ Π² filter вмСстС с исходным списком lst. Π Π΅Π·ΡƒΠ»ΡŒΡ‚ΠΈΡ€ΡƒΡŽΡ‰ΠΈΠΉ список unique_lst содСрТит Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΡƒΠ½ΠΈΠΊΠ°Π»ΡŒΠ½Ρ‹Π΅ значСния.

ΠœΠ΅Ρ‚ΠΎΠ΄ 4: ИспользованиС Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ pandas

Если Π²Ρ‹ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚Π΅ с большими объСмами Π΄Π°Π½Π½Ρ‹Ρ…, Π±ΠΎΠ»Π΅Π΅ эффСктивным Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ΠΌ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ использованиС Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ pandas. Pandas прСдоставляСт Π½Π°ΠΌ ΠΌΠ΅Ρ‚ΠΎΠ΄ drop_duplicates, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ автоматичСски удаляСт ΠΏΠΎΠ²Ρ‚ΠΎΡ€ΡΡŽΡ‰ΠΈΠ΅ΡΡ элСмСнты ΠΈΠ· сСрии ΠΈΠ»ΠΈ Ρ„Ρ€Π΅ΠΉΠΌΠ° Π΄Π°Π½Π½Ρ‹Ρ….


import pandas as pd

lst = [1, 2, 3, 1, 2, 4, 5, 4, 6]
series = pd.Series(lst)
unique_series = series.drop_duplicates().tolist()
print(unique_series)
    

Π’Ρ‹Π²ΠΎΠ΄:


[1, 2, 3, 4, 5, 6]
    

ΠœΡ‹ создали ΡΠ΅Ρ€ΠΈΡŽ Π΄Π°Π½Π½Ρ‹Ρ… series, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ исходный список lst. Π—Π°Ρ‚Π΅ΠΌ ΠΌΡ‹ использовали ΠΌΠ΅Ρ‚ΠΎΠ΄ drop_duplicates, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡƒΠ΄Π°Π»ΠΈΡ‚ΡŒ ΠΏΠΎΠ²Ρ‚ΠΎΡ€ΡΡŽΡ‰ΠΈΠ΅ΡΡ элСмСнты ΠΈ ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π»ΠΈ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎ Π² список с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΌΠ΅Ρ‚ΠΎΠ΄Π° tolist. Π’ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠ»ΠΈ Π½ΠΎΠ²Ρ‹ΠΉ список unique_series.

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

Π’Π΅ΠΏΠ΅Ρ€ΡŒ Ρƒ тСбя Π΅ΡΡ‚ΡŒ нСсколько способов ΡƒΠ΄Π°Π»ΠΈΡ‚ΡŒ ΠΏΠΎΠ²Ρ‚ΠΎΡ€Ρ‹ Π² спискС ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ Python. Π’Ρ‹ моТСшь Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ Ρ‚ΠΎΡ‚, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π»ΡƒΡ‡ΡˆΠ΅ всСго ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ΠΈΡ‚ для Ρ‚Π²ΠΎΠ΅ΠΉ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠΉ ситуации. НадСюсь, Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ Ρ‚Ρ‹ Ρ‡ΡƒΠ²ΡΡ‚Π²ΡƒΠ΅ΡˆΡŒ сСбя ΡƒΠ²Π΅Ρ€Π΅Π½Π½Π΅Π΅ ΠΈ Π³ΠΎΡ‚ΠΎΠ² ΠΏΡ€ΠΈΠΌΠ΅Π½ΠΈΡ‚ΡŒ эти знания Π½Π° ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠ΅. Π£Π΄Π°Ρ‡ΠΈ Π² Ρ‚Π²ΠΎΠΈΡ… ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹Ρ… ΠΏΡ€ΠΈΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡΡ…!

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

Π£Π΄Π°Π»Π΅Π½ΠΈΠ΅ элСмСнтов списка ΠΏΠΎ ΡƒΡΠ»ΠΎΠ²ΠΈΡŽ. РСшСниС Π·Π°Π΄Π°Ρ‡ΠΈ Π½Π° Python

Как ΡƒΠ΄Π°Π»ΠΈΡ‚ΡŒ Π΄ΡƒΠ±Π»ΠΈΠΊΠ°Ρ‚Ρ‹ Π² массивС ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ Python | Π—Π°Π΄Π°Ρ‡Π° LeetCode

Π‘Π΅ΠΌΠΈΠ½Π°Ρ€ 1 - ΡƒΠ΄Π°Π»Π΅Π½ΠΈΠ΅ Π΄ΡƒΠ±Π»ΠΈΠΊΠ°Ρ‚ΠΎΠ² ΠΈΠ· списка

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

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ дСкомпозиция Python? πŸβœ‚οΈ

πŸ”’ Как ΠΏΠΎΡΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ количСство строк Π² ΠΏΠΈΡ‚ΠΎΠ½Π΅: простой способ ΠΈ инструкция

Как вывСсти Π½ΠΎΠΌΠ΅Ρ€ элСмСнта списка Π² ΠΏΠΈΡ‚ΠΎΠ½Π΅: простой способ ΠΈ совСты πŸ’‘πŸ

πŸ”Ž Как ΠΈΠ·Π±Π°Π²ΠΈΡ‚ΡŒΡΡ ΠΎΡ‚ ΠΏΠΎΠ²Ρ‚ΠΎΡ€ΠΎΠ² Π² листС Π½Π° Python: простой Π³ΠΈΠ΄

πŸ”Ž Как Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ Python interpreter Π² PyCharm

πŸ”€ Как Π·Π°ΠΌΠ΅Π½ΠΈΡ‚ΡŒ ΠΈΠΌΠΏΠ»ΠΈΠΊΠ°Ρ†ΠΈΡŽ Π² ΠΏΠΈΡ‚ΠΎΠ½Π΅ πŸ”€

Как ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎ ΡΠΊΡ€Π°Π½ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ слэш Π² Python ΠΈ ΠΈΠ·Π±Π΅ΠΆΠ°Ρ‚ΡŒ ошибок