Vyhledávací pole PowerApps: Jak přidat a přizpůsobit
Naučte se, jak vytvořit vyhledávací pole PowerApps úplně od začátku a přizpůsobit je tak, aby odpovídalo celkovému tématu vaší aplikace.
Práce se seznamy a dalšími iterovatelnými objekty je v . Někdy možná budete muset procházet tyto iterovatelné položky a zároveň sledovat index nebo počet aktuálního prvku. Zde přichází na pomoc vestavěná funkce enumerate() v Pythonu.
Funkce enumerate() v Pythonu vám poskytuje pohodlný způsob přístupu jak k indexu položky, tak k samotné položce, když procházíte seznam nebo jakýkoli iterovatelný objekt.
Díky této funkci je vaše , čitelné a efektivní. Umožňuje vám procházet prvky a získávat jejich index i hodnotu. Namísto ruční inicializace a zvyšování čítače v rámci smyčky se můžete spolehnout na enumerate(), že to udělá za vás.
V tomto článku se dozvíte o funkci enumerate() vestavěné v Pythonu, její důležitosti ve vašem kódu Pythonu a případech jejího použití.
Jdeme do toho!
Obsah
Co je funkce Python Enumerate?
Představte si, že pracujete s datovou strukturou seznamu a chcete s každou položkou něco udělat, ale také potřebujete znát pozici položky v seznamu.
Bez Pythonu enumerate() se můžete rozhodnout použít proměnnou čítače, kterou inkrementujete v každé iteraci smyčky. Ale tento přístup může být náchylný k chybám a není příliš „pythonic“.
Enumerate je vestavěná funkce v Pythonu, která vám umožňuje iterovat přes iterovatelné objekty a přitom sledovat index aktuální položky.
Nyní, když jste pochopili, co je funkce enumerate() v Pythonu, přejděme k syntaxi funkce Python enumerate() v další části!
Jaká je syntaxe funkce Enumerate v Pythonu?
Syntaxe funkce definuje, jak byste tuto funkci měli používat ve svém kódu, včetně toho, jaké argumenty bere a co vrací.
Funkce enumerate () má následující syntaxi:
enumerate(, start=0)
: Toto je povinný parametr a může to být libovolný iterovatelný Python, jako je seznam nebo n-tice.
start : Tento druhý parametr je volitelný parametr, který určuje počáteční hodnotu čítače. Ve výchozím nastavení je nastavena na 0.
Vrácená hodnota funkce enumerate () je objekt enumerate, což je iterátor mající dvojice (index, prvek) pro každou položku v dané iteraci.
Tento iterátor můžete použít pro současný přístup k indexu i položce.
Následující příklad ukazuje, jak můžete použít funkci enumerate() se seznamem:
fruits = ['apple', 'banana', 'cherry']
for index, item in enumerate(fruits):
print(index, item)
V tomto příkladu enumerate() prochází objekty enumerate, tj. seznam plodů , a přiřazuje index každé položce počínaje 0.
Smyčka for pak rozbalí index a položku z výčtového objektu. To vám umožní provádět operace na základě indexu i hodnoty položky.
K vytištění rejstříku a položky na obrazovku používáme funkci tisku. Výstup kódu je uveden na obrázku níže:
Ve výstupu můžete vidět, že počáteční index je 0. Toto je výchozí hodnota indexu přiřazeného automaticky interpretem Pythonu.
Můžete však také zadat jinou počáteční hodnotu pro počítadlo zadáním volitelného parametru spuštění , jak je znázorněno v kódu níže:
for index, item in enumerate(fruits, start=1):
print(index, item)
Výstup bude podobný výše uvedenému. Jediný rozdíl bude v tom, že index nyní začíná na 1.
Takže teď máte popis syntaxe funkce enumerate() v Pythonu. Ale jako u každého jiného nástroje je důležité vědět, kdy a kde jej použít.
To je důvod, proč v další části prozkoumáme některé běžné případy použití funkce enumerate()!
5 Případy použití funkce Python Enumerate
Funkce enumerate v Pythonu se široce používá ve scénářích, kde jsou pro programátora důležité jak index, tak hodnota iterovatelného objektu.
Níže jsme uvedli některé běžné případy použití funkcí výčtu v Pythonu.
1. Jak používat Enumerate se seznamy Pythonu
V Pythonu je a vestavěná datová struktura, která umožňuje uložit více položek do jedné proměnné. Představte si seznam jako kontejner, do kterého můžete vkládat různé položky, které udržují své pořadí.
Funkci enumerate() lze na seznamech použít různými způsoby, například:
A. Přístup k prvkům seznamu a jejich indexům pomocí Python Enumerate
Jedním z nejběžnějších případů použití enumerate() je situace, kdy potřebujete získat přístup jak k prvkům seznamu, tak k jejich indexům. Enumerate vám to umožní udělat čistým a efektivním způsobem.
Následuje příklad přístupu k prvkům seznamu a jejich indexům:
fruits = ['apple', 'banana', 'mango', 'grape', 'orange']
for index, fruit in enumerate(fruits):
print(f"At index {index}, the fruit is {fruit}.")
Výstup tohoto kódu je uveden na obrázku níže:
B. Úprava prvků seznamu pomocí Python Enumerate
Když potřebujete upravit prvky seznamu na základě jejich indexu, enumerate() je vynikající nástroj. Můžete přistupovat k indexu v rámci smyčky a používat jej k úpravě seznamu.
Následuje příklad úpravy prvků seznamu pomocí funkce enumerate:
numbers = [1, 2, 3, 4, 5]
for i, num in enumerate(numbers):
numbers[i] = num * 2
Tento kód Pythonu vytvoří seznam čísel od 1 do 5. Poté použije cyklus for a funkci enumerate() k iteraci seznamu.
Pro každou iteraci vynásobí aktuální číslo (num) 2 a znovu jej přiřadí na stejnou pozici v seznamu (čísla[i]).
Výsledkem je, že každé číslo v původním seznamu se zdvojnásobí, jak je znázorněno na obrázku níže:
C. Porovnání prvků ve dvou seznamech s Python Enumerate
Pokud porovnáváte prvky ve dvou různých seznamech, enumerate() může poskytnout index, který potřebujete pro přístup k prvkům v obou seznamech současně.
Následuje příklad použití funkce enumerate k porovnání prvků ve dvou seznamech:
list1 = [1, 2, 3, 4, 5]
list2 = [1, 2, 3, 0, 5]
for i, value in enumerate(list1):
if value != list2[i]:
print(f"Difference at index {i}: {value} (list1) vs {list2[i]} (list2)")
V tomto kódu nejprve definujeme dva seznamy, seznam1 a seznam2. Potom iterujeme seznam1 pomocí cyklu for s enumerate(), který poskytuje index (i) a hodnotu každé položky.
Pokud aktuální položka v seznamu1 neodpovídá odpovídající položce v seznamu2, vytiskne index rozdílu a rozdílné hodnoty z obou seznamů.
Výsledek tohoto kódu je uveden níže:
2. Jak používat Enumerate s Python N-ticemi
N-tice v Pythonu je uspořádaná kolekce prvků, podobná seznamu. Jediný rozdíl je v tom, že n-tice je neměnná, což znamená, že po vytvoření nemůžete její obsah změnit.
Následují některé z případů, kdy můžete použít enumerate s pythonskými n-ticemi.
A. Použití Python Enumerate() k nalezení prvku v n-tici
Při práci s n-ticemi v Pythonu můžete často potřebovat zjistit, zda prvek v n-tici existuje.
Následující příklad kódu ukazuje použití enumerate k nalezení prvků v n-tici:
fruits = ('apple', 'banana', 'mango', 'grape', 'orange')
for i, fruit in enumerate(fruits):
if fruit == 'mango':
print(f"'mango' found at position {i}")
Tento kód vypíše „mango“ na pozici 2, protože „mango“ je na indexu 2 v n-tice.
B. Použití Python Enumerate() k vytvoření slovníku z n-tice
Pokud máte n-tici a potřebujete ji transformovat do slovníku, může být vaším nástrojem funkce enumerate() v Pythonu.
Příklad kódu ukazuje, jak můžete vytvořit slovník z n-tice pomocí enumerate:
fruits = ('apple', 'banana', 'mango', 'grape', 'orange')
fruit_dict = {i: fruit for i, fruit in enumerate(fruits)}
print(fruit_dict)
Tento kód vytiskne slovník, kde klíče jsou indexy a hodnoty jsou prvky z n-tice.
3. Jak používat Enumerate se slovníky Pythonu
V Pythonu je slovník proměnlivý, neuspořádaný, kde každý klíč musí být jedinečný. Představte si to jako skutečný slovník: vyhledáte slovo (klíč) a získáte jeho definici (hodnotu).
Níže jsou uvedeny některé případy, kdy můžete použít enumerate se slovníky Pythonu:
A. Procházení klíčů a hodnot slovníku
Pomocí funkce enumerate() můžete procházet klíče a hodnoty slovníku.
Funkce enumerate() přidá čítač do iterovatelného objektu (jako jsou slovníky), což vám umožní přístup k aktuální hodnotě indexu.
Níže je uveden slovník:
example_dict = {1: 'a', 2: 'b', 3: 'c', 4: 'd'}
for i, k in enumerate(example_dict):
print(i, k)
V tomto kódu Pythonu nejprve vytvoříme slovník nazvaný example_dict. Poté použijeme funkci enumerate() k iteraci slovníku.
Pro každou iteraci vypíšeme počet smyček (který je dán i a začíná od 0) a aktuální klíč (což je k) ze slovníku.
B. Kombinace Python Enumerate s funkcí Items
Ke klíčům a hodnotám slovníku můžete také přistupovat pomocí funkce items() spolu s enumerate() . Funkce items () vrací iterovatelnou kolekci párů klíč–hodnota jako n-tice.
Níže uvedený příklad ukazuje, jak můžete použít funkci items() s enumerate() :
example_dict = {1: 'a', 2: 'b', 3: 'c', 4: 'd'}
for i, (k, v) in enumerate(example_dict.items()):
print(i, k, v)
V tomto kódu vytvoříme slovník s názvem , pak použijeme funkci enumerate() k iteraci párů klíč-hodnota slovníku. Během každé iterace vytiskneme index smyčky „i“, aktuální klíč „k“ a jeho odpovídající hodnotu „v“.
Nyní dobře rozumíte tomu, jak používat funkci enumerate() Pythonu v některých běžných scénářích. Enumerate() však nabízí ještě více.
Pojďme se ponořit do některých pokročilých případů použití kolem enumerate() v další části!
3 Pokročilé případy použití Pythonu Enumerate
V této části půjdeme nad rámec základů a prozkoumáme některé pokročilé případy použití funkce enumerate v Pythonu.
Budeme se zabývat následujícími případy použití:
Použití Enumerate s třídami Pythonu
Použití Enumerate s třídami Enum
Použití Enumerate pro obrácení pořadí
Jdeme do toho!
1. Použití Enumerate s třídami Python
Na své programovací cestě v Pythonu můžete narazit na situace, kdy budete chtít použít enumerate s vlastními třídami.
Abyste toho dosáhli, vaše třída by měla implementovat metodu iter() , která umožňuje její iterovatelnost.
Zvažte třídu Color , která ukládá názvy barev a jejich přidružené hexadecimální hodnoty:
class Color:
def __init__(self, colors: dict):
self.colors = colors
def __iter__(self):
return iter(self.colors.items())
colors = Color({"red": "#FF0000", "green": "#00FF00", "blue": "#0000FF"})
for index, (name, hex_value) in enumerate(colors):
print(f"{index}: {name} => {hex_value}")
V tomto kódu vytváříme třídu Color, která přebírá slovník názvů barev a jejich odpovídajících hexadecimálních hodnot.
Když v cyklu použijete enumerate(), poskytuje index spolu s každým párem klíč–hodnota. To vám umožní vytisknout index, název barvy a její hexadecimální hodnotu ve formátovaném řetězci.
2. Použití Python Enumerate s třídami Enum
Python přichází s vestavěnou třídou Enum , která vám umožňuje vytvářet typy výčtů s automaticky přiřazenými celočíselnými hodnotami.
Podívejte se například na následující kód:
from enum import Enum, auto
class Direction(Enum):
NORTH = auto()
EAST = auto()
SOUTH = auto()
WEST = auto()
for index, direction in enumerate(Direction):
print(f"{index}: {direction.name} => {direction.value}")
V tomto skriptu definujeme směr výčtu se čtyřmi členy (Sever, VÝCHOD, JIH a ZÁPAD) pomocí modulu enum v Pythonu. Funkce auto() přiřadí každému členu automatickou hodnotu.
Když použijete enumerate() v cyklu, poskytuje index spolu s každým členem výčtu. To vám umožní vytisknout index, jméno člena a jeho automaticky přiřazenou hodnotu ve formátovaném řetězci.
Výstup tohoto kódu je uveden na obrázku níže:
3. Použití Python Enumerate pro obrácení pořadí
V některých případech můžete chtít vytvořit výčet položek v opačném pořadí. Toho lze dosáhnout použitím vestavěné funkce reversed() v kombinaci s enumerate() .
Následující příklad ukazuje výčet položek v obráceném pořadí:
my_list = ["apple", "banana", "cherry"]
for index, item in enumerate(reversed(my_list)):
print(f"{index}: {item}")
V tomto kódu iterujeme obrácenou verzi my_list pomocí enumerate(). To vám poskytne index a položku z obráceného seznamu v každé iteraci. Umožňuje tisknout rejstřík a položku ve formátovaném řetězci.
Reverzní () nezmění původní sekvenci; vytvoří nový iterátor, který prezentuje položky v obráceném pořadí.
Chcete-li se dozvědět více o funkcích v Pythonu, podívejte se na následující video:
Závěrečné myšlenky
Jak budete pokračovat na své cestě Pythonem, zvládnutí funkce enumerate() je nutností. Je to nástroj, který zlepšuje čitelnost a efektivitu kódu.
Pomocí enumerate() můžete bez problémů přistupovat jak k indexu, tak k hodnotě ve vašich smyčkách, čímž se snižuje potřeba protiproměnných nebo indexování. Zjednodušuje váš kód a činí jej více Pythonic.
Ať už procházíte seznamy, n-ticemi, řetězci nebo slovníky, enumerate() se ukáže jako cenný nástroj. Pochopením a procvičováním enumerate() uděláte významný krok ve zdokonalování svých programovacích dovedností v Pythonu!
Naučte se, jak vytvořit vyhledávací pole PowerApps úplně od začátku a přizpůsobit je tak, aby odpovídalo celkovému tématu vaší aplikace.
Sklízejte nebo zachycujte hodnotu uvnitř míry a znovu ji použijte v jiném taktu pro dynamické výpočty pomocí SELECTEDVALUE DAX v LuckyTemplates.
Zjistěte, jak vám historie verzí na SharePointu může pomoci vidět vývoj určitých dat a kolika změn prošla.
Zde je nástroj pro vytváření sestav a vizuálů, výběr barevných hexadecimálních kódů, který můžete použít ke snadnému získání barev pro vaše sestavy LuckyTemplates.
Pomocí tabulky období můžete v přehledu snadno zobrazit časové období jako průřez. Použijte M kód k vytvoření dynamického datového výřezu v LuckyTemplates.
Chtěli jsme se ponořit do tabulek četností v Excelu a také do tabulek proporcí. Podívejte se, co to je a kdy je použít.
Zistite, ako stiahnuť a nainštalovať DAX Studio a Tabular Editor 3 a ako ich nakonfigurovať na použitie v LuckyTemplates a v Exceli.
Tento blog obsahuje vizualizáciu Shape Map pre priestorovú analýzu v LuckyTemplates. Ukážem vám, ako môžete efektívne využiť túto vizualizáciu s jej funkciami a prvkami.
V tomto návode predstavujem jedinečný nápad týkajúci sa finančného výkazníctva, ktorý spočíva v prideľovaní výsledkov na vopred určené šablóny tabuliek v rámci LuckyTemplates.
Vytvářejte míry DAX v LuckyTemplates pomocí existujících mír nebo vzorců. Tomu říkám technika větvení opatření.