Přejít na hlavní obsah

Jak stáhnout všechny jedinečné prvky v Pythonu bez opakování

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.