Když pracujete s velkými datovými sadami v Pythonu, je často nutné stáhnout pouze jedinečné prvky bez opakování. V takových případech je důležité najít efektivní a pohodlný způsob, jak to udělat.
Python nabízí několik vestavěných metod a funkcí, které mohou pomoci tento úkol zvládnout. Jedním z jednoduchých a srozumitelných způsobů je použití datové struktury množství. Množina je neuspořádaná sbírka jedinečných prvků a Python má vestavěnou podporu pro tuto datovou strukturu.
Níže je uveden příklad kódu, který ukazuje tento přístup:
Python nám poskytuje snadný a efektivní způsob, jak dostat všechny jedinečné položky ze seznamu bez opakování.
K tomu můžeme využít sílu datové struktury-množiny (set). Množina v Pythonu je neuspořádaná sbírka jedinečných prvků. Seznam můžeme přenést do funkce set () a získat pouze jedinečné prvky.
Níže je uveden příklad kódu:
# Vytvořte seznam s opakujícími se prvky my_list = [1, 2, 3, 4, 1, 2, 3, 5] # Převedeme seznam na mnoho unique_elements = set(my_list) for element in unique_elements: print(element) 1 2 3 4 5
Nyní víme, jak odvodit všechny jedinečné prvky v Pythonu bez opakování pomocí mnoha. Je to velmi užitečný trik, který lze použít v různých úkolech a algoritmech.
Metody pro odstranění duplicitních položek v Pythonu
Python poskytuje několik metod k odstranění duplicitních položek ze seznamu, množiny nebo řádku.
1. Použití funkce set() :
- Převeďte seznam na množinu pomocí funkce set ().
- Převedená množina bude obsahovat pouze jedinečné prvky.
- Převeďte množství zpět na seznam pomocí funkce list() pro seznam jedinečných položek.
2. Použití knihovny collections :
- Importujte modul collections pomocí příkazu import collections .
- Použijte funkci collections.Counter() pro vytvoření čítače položek seznamu.
- Převeďte měřič na seznam pomocí metody list ().
3. Použití generátoru seznamů:
- Vytvořte nový seznam pomocí generátoru seznamů.
- V generátoru seznamů zkontrolujte, zda je položka již v novém seznamu, přeskočte ji.
- Převeďte nový seznam na seznam jedinečných položek.
4. Použití metody dict.fromkeys() :
- Převeďte seznam do slovníku pomocí metody dict.fromkeys() .
- Převedený slovník bude obsahovat pouze jedinečné prvky.
- Převeďte slovník zpět na seznam pomocí metody .keys () pro seznam jedinečných položek.
Použití množin k získání jedinečných prvků
numbers = [1, 2, 3, 2, 1, 4, 5, 4]unique_numbers = set(numbers)
K odstranění duplikátů ze seznamu lze také použít mnoho. Chcete-li to provést, můžete seznam převést na mnoho a zpět na seznam:
numbers = [1, 2, 3, 2, 1, 4, 5, 4]unique_numbers = list(set(numbers))
Použití množin umožňuje získat jedinečné položky ze zdrojového seznamu, aniž byste museli používat cykly nebo další kód.
Použití seznamu povolenek k odstranění opakování
Pokud jde o hledání jedinečných položek v Pythonu bez opakování, můžete použít seznamové inkluze pro kompaktnější a efektivnější kód.
Seznamové inkluze jsou stručným způsobem, jak vytvořit nový seznam aplikací operace na každou položku starého seznamu.
Chcete-li odstranit duplicitní položky ze seznamu, můžete použít tento seznam povolením:
unique_list = [x for x in old_list if x not in unique_list]
V tomto kódu vytváříme nový seznam unique_list, ve kterém ponecháváme pouze jedinečné položky ze starého seznamu old_list . Testujeme každý prvek x z old_list , a pokud není obsažen v unique_list, přidáme jej.
Tento přístup umožňuje vyhnout se používání cyklů a podmíněných operátorů, díky čemuž je Kód čitelnější a šetří čas a zdroje.
Seznamové inkluze mohou být výkonným nástrojem pro práci s daty a zpracování seznamů v Pythonu. Umožňují vám vytvářet nové seznamy na základě existujících seznamů s minimálním úsilím a bezpečným a efektivním způsobem.
Použití funkce set () k odstranění opakování
V programovacím jazyce Python lze pomocí funkce set () odstranit všechny duplicitní položky ze seznamu. Funkce set () vytvoří množinu, která obsahuje pouze jedinečné hodnoty, a tyto hodnoty pak lze snadno převést zpět do seznamu.
numbers = [1, 2, 3, 4, 2, 3, 1]unique_numbers = list(set(numbers))print(unique_numbers)
Výsledkem provádění tohoto kódu bude seznam, který obsahuje pouze jedinečné položky ze zdrojového seznamu numbers: [1, 2, 3, 4].
Funkce set () umožňuje snadné odstranění duplicitních položek z libovolných objektů, jako jsou seznamy nebo řádky.
Za zmínku také stojí, že při použití funkce set() nemusí být pořadí prvků zachováno, protože množina je neuspořádaná sbírka.
Použití knihovny NumPy k odstranění opakování
K odstranění opakování z pole lze použít funkci numpy.unique . Tato funkce vrací nové pole s jedinečnými prvky ve stejném pořadí, ve kterém se objevily v původním poli. Duplicitní prvky jsou odstraněny a ponechají pouze jeden vstup každého prvku.
Příklad použití funkce numpy.unique :
import numpy as np
arr = np.array([1, 2, 3, 3, 4, 5, 5, 6])
Výsledek provádění tohoto kódu bude:
Tedy pomocí funkce numpy.unique lze snadno odstranit duplicitní prvky z pole a získat pole s jedinečnými prvky.