Oplev unik indsigt ved hjælp af LuckyTemplates TOPN-funktion
Denne blog indeholder LuckyTemplates TOPN DAX-funktionen, som giver dig mulighed for at få unik indsigt fra dine data, hvilket hjælper dig med at træffe bedre markedsføringsbeslutninger.
Et af de mest interessante begreber inden for programmeringssprog er loops. Forestil dig, at du står over for en opgave. Det er enkelt, men gentaget, som at tælle fra 1 til 100. Nu kan du gøre dette manuelt, et tal ad gangen. Men det ville være tidskrævende og ikke særlig effektivt. Det er her, loops i programmering kommer ind.
En loop er en kontrolstruktur, der giver dig mulighed for at gentage et sæt instruktioner, indtil en bestemt betingelse er opfyldt. Tilstanden kan være hvad som helst: et vist antal gentagelser, en bestemt datatilstand eller endda en ekstern begivenhed. En Python For Loop er en speciel slags loop, der bruges, når du kender de nøjagtige gentagelser for en loop.
Du bruger for loops i din kode for at forenkle processen med iteration over en sekvens eller samling af elementer. Dette kan være en liste, en streng, en ordbog, et sæt eller et hvilket som helst andet iterabelt objekt i Python .
Ved at bruge en for-løkke kan du udføre en kodeblok for hvert element i sekvensen. Hvis du f.eks. skal udskrive alle elementerne i en liste, kan du i stedet for at skrive en print-erklæring for hvert element blot bruge en for-løkke. Dette gør din kode mere effektiv, læsbar og mindre udsat for fejl.
Før du begynder at skrive til loops, skal du forstå det grundlæggende. I denne artikel vil vi se på syntaksen for Python for loops, den terminologi, der bruges, når man arbejder med dem, og hvordan man bruger dem i forskellige scenarier.
Lad os komme ind i det!
Indholdsfortegnelse
Hvad er syntaksen for Python For Loops?
I Python bruges for loops til at iterere over iterable objekter. Den grundlæggende syntaks for en for- løkke er som følger:
for variable in iterable:
# code to execute for each item
I denne syntaks er 'variabel' det navn, du vælger for det aktuelle element i iterationen. 'Iterable' er sekvensen eller samlingen af elementer, du vil gentage over.
Koden inde i løkken, her betegnet som '# kode, der skal udføres for hvert element', er den handling, du vil udføre for hvert element i den iterable.
Nedenstående eksempel viser en grundlæggende for loop i Python:
cities = ['New York', 'London', 'Paris', 'Tokyo']
for city in cities:
print(city)
I ovenstående eksempel er 'by' variablen, og 'byer' er den iterable. Koden inde i løkken er print(by), som udskriver hver by på listen.
Python Iterables og Iterable Objects
Et andet afgørende begreb at forstå, når man arbejder med loops, er begrebet iterables og iterable objekter.
I Python er en iterable ethvert objekt, der er i stand til at returnere dets elementer et ad gangen. Dette betyder, at du kan passere gennem det iterable objekt ved hjælp af en metode som en loop.
Almindelige eksempler på gentagelige objekter, som du vil støde på, omfatter lister , strenge , tupler og ordbøger .
For eksempel, når du opretter en liste med tal som [1, 2, 3, 4, 5], kan du iterere over hvert tal på listen. Hvert tal er et element i den iterable liste.
På samme måde, hvis du har en streng såsom 'hej', kan du iterere over hvert tegn i strengen. I dette tilfælde er strengen den iterable, og hvert tegn ('h', 'e', 'l', 'l', 'o') er et element i den iterable.
Nedenfor finder du nogle eksempler på brug for loops med forskellige iterables.
1. Looping gennem en liste med en Python For Loop
I Python er a en type datastruktur, der kan indeholde en ordnet samling af elementer, hvilket betyder, at du kan gemme alle slags objekter - heltal, flydende, strenge og endda andre lister eller komplekse objekter.
For at gå gennem en liste med en for-løkke kan du bruge følgende kode:
fruits = ['apple', 'banana', 'cherry']
for fruit in fruits:
print(fruit)
Denne kode vil udskrive alle frugterne på listen over frugter som vist nedenfor:
2. Looping gennem en Tuple med en Python For Loop
En tuple i Python er en samling af objekter, der er ordnede og uforanderlige. Det betyder, at når først en tuple er oprettet, kan du ikke ændre dens indhold.
For at se gennem en tuple med for-løkken kan du bruge følgende Python-kode:
colors = ('red', 'green', 'blue')
for color in colors:
print(color)
For-løkken vil gennemgå alle elementerne i tuplet og udskrive dem til skærmen som vist på billedet nedenfor:
3. Gennemgang af en ordbog med en Python For Loop
A i Python er en uordnet samling af data gemt som en nøgle og en værdi. Dette er også kendt som et nøgleværdi-par.
For at gå gennem en ordbog med for-løkken kan du bruge følgende Python-kode:
student = {'name': 'John', 'age': 24, 'course': 'Computer Science'}
for key, value in student.items():
print(key, value)
For-løkken gentager alle nøgleværdi-parrene i ordbogen og udskriver dem på skærmen som vist nedenfor:
4. Looping gennem en streng med en Python for Loop
En streng i Python er en sekvens af tegn. Strenge bruges i Python til at optage tekstinformation såvel som vilkårlige samlinger af bytes (såsom en billedfils indhold).
For at sløjfe gennem en streng i Python ved hjælp af for-løkken kan du bruge koden nedenfor:
greeting = "Hello, world!"
for char in greeting:
print(char)
For-løkken udskriver hvert alfabet i strengen til skærmen som vist nedenfor:
Eksemplerne ovenfor viser, hvordan loops er nyttige ved iteration over forskellige datatyper. Du kan også kontrollere funktionaliteten af dine for-løkker ved at bruge funktioner og sætninger i din løkke.
Lad os se på nogle nøglefunktioner og udsagn, der ofte bruges til loops i næste afsnit.
Nøglefunktioner og udsagn i Python For Loops
Når du bruger for loops, kan funktioner og sætninger forbedre din kontrol over loopen og gøre din kode mere effektiv og lettere at læse.
Vi har listet nøglefunktionerne og udsagn, der bruges i til sløjfer, nedenfor:
1. Sådan bruges Range()-funktionen med en Python for Loop
Funktionen range() giver dig mulighed for at generere en række tal. Det bruges generelt til at gentage et bestemt antal gange.
Den grundlæggende syntaks er:
for i in range(start, stop, step):
# your code here
start : en valgfri parameter, der angiver startpunktet; som standard er det 0.
stop : en påkrævet parameter, der definerer slutpunktet (eksklusivt).
trin : en valgfri parameter, der angiver stigningen, med en standardværdi på 1.
For at give dig en klar forståelse af rækkeviddefunktionen, så tag et kig på eksemplet nedenfor, hvor vi udskriver tal fra 1 til 5 ved hjælp af rækkeviddefunktionen med en for-løkke:
for i in range(5):
print(i)
2. Sådan bruges Break Statement med en Python For Loop
Pausesætningen giver dig mulighed for at forlade en for-løkke , når en bestemt betingelse er opfyldt. Når nøgleordet break er nået i loop body, stopper loopet øjeblikkeligt.
Følgende er et eksempel på for-løkken med en break-sætning:
for i in range(10):
if i == 5:
break
print(i)
Denne kode er en løkke, der løber fra 0 til 9. Hvis det aktuelle tal er 5, stopper den straks løkken med pause . Så den udskriver kun tallene fra 0 til 4. Når den rammer 5, stopper den og udskriver ikke flere tal.
3. Sådan bruger du Continue-erklæringen med en Python For Loop
Fortsæt - sætningen bruges til at springe den aktuelle iteration over og springe til den næste.
Følgende er et eksempel på en fortsæt-sætning med for loop:
for i in range(5):
if i == 3:
continue
print(i)
Løkken itererer fra 0 til 4. Hvis det aktuelle tal er 3, springer vi det over, før vi fuldfører resten af løkken for den iteration ved at bruge fortsæt . Det betyder, at du udskriver alle tal fra 0 til 4, undtagen 3.
Bemærk på billedet ovenfor, at tallet 3 er sprunget over på grund af fortsæt -erklæringen.
4. Sådan bruges beståelseserklæringen
Beståelseserklæringen er en pladsholder, der med vilje ikke gør noget . Det kan bruges, når du har brug for sløjfestrukturen, men ikke har nogen specifik kode til at udføre i den endnu.
Følgende er et eksempel på en beståelseserklæring med en for-løkke:
for i in range(5):
pass
Denne sløjfe vil ikke udsende noget, da pass- sætningen er en pladsholder for fremtidig kode. Sløjfer er fleksible og kan justeres, så de passer til enhver brug, såsom at bruge løkker med den anden kodeblok.
Hvis du gerne vil have praktisk øvelse med for loops, så tjek følgende video ud:
Når du begynder at skrive til loops, vil du til sidst ønske at springe ind i de avancerede teknikker i for loops. Kendskab til de avancerede teknikker vil give dig mulighed for at skrive mere effektivt til loops til næsten enhver brug.
Lad os se på nogle af de avancerede teknikker til loops i næste afsnit!
3 avancerede teknikker, der bruger Python til sløjfer
Som Python-programmør skal du ofte håndtere samlinger af elementer, såsom lister eller strenge, og udføre operationer på hvert element. For at udføre disse operationer skal du have en grundlæggende forståelse af de avancerede teknikker i for loops.
I dette afsnit vil vi udforske nogle avancerede teknikker til brug for loops i Python. Vi vil dække indlejrede loops, listeforståelser og enumerate()-funktionen.
1. Sådan bruges Nested Python til Loops
Der er tidspunkter, hvor du har brug for at gå over flere dimensioner af data, såsom en matrix eller en liste over lister. I sådanne tilfælde kan du bruge indlejrede løkker, som er en løkke inde i en anden løkke. En indlejret løkke giver dig mulighed for effektivt at krydse flere dimensioner af data.
Følgende er et eksempel på en indlejret for-løkke:
matrix = [
[1, 2, 3],
[4, 5, 6],
[7, 8, 9]
]
for row in matrix:
for val in row:
print(val, end=' ')
print()
I denne kode bruger vi en indlejret løkke til at udskrive hvert tal i en matrix. Den ydre løkke går over hver række, og den indre løkke går gennem hvert tal i den række.
Efter udskrivning af hver række starter vi en ny linje. Kort sagt, vi udskriver hele matrixen række for række.
2. Sådan bruges Python til loops til listeforståelse
Hvis du opretter en ny liste baseret på en eksisterende liste eller anden gentagelig liste, kan du bruge listeforståelse. Det lader dig oprette en ny liste ved at anvende et udtryk på hvert element i en iterabel, alt sammen i en enkelt kodelinje.
Den generelle syntaks for listeforståelser er:
[expression for variable in iterable if condition]
Antag, at du vil oprette en liste over kvadrater for en række tal, kan du bruge følgende listeforståelse:
squares = [x ** 2 for x in range(1, 11)]
print(squares)
Denne kode opretter en liste over kvadrater for tallene 1 til 10 ved hjælp af en enkelt kodelinje.
3. Sådan bruges Enumerate()-funktionen
Når du går gennem en liste eller streng, og du har brug for at kende indekset for det aktuelle element, bruger du enumerate () . Det returnerer hver vare sammen med dens indeks, hvilket gør det nemmere at håndtere varernes position.
Følgende er et eksempel på enumerate-funktion med en for-løkke:
fruits = ['apple', 'banana', 'cherry']
for idx, fruit in enumerate(fruits):
print(f"{idx}: {fruit}")
I denne kode går vi gennem frugtlisten, men vi holder også styr på indekset for hvert element ved hjælp af funktionen opregn , som returnerer hvert element på listen sammen med dets indeks.
Så for hver iteration af løkken er idx indekset, og frugt er elementet. Derefter udskriver vi indekset efterfulgt af frugten. Dette giver os en nummereret liste over frugter.
Nu hvor du har udforsket de avancerede teknikker til loops, kan du begynde at se, hvor fleksible loops kan være i håndtering af forskellige scenarier. Men som med ethvert værktøj er det vigtigt at vide, hvornår det skal bruges, og hvornår et andet værktøj kan være bedre egnet.
Med dette i tankerne, lad os flytte vores fokus til at sammenligne for loops med while-loops. Dette vil hjælpe dig med at beslutte, hvilken type loop der passer bedst til din specifikke kodningssituation.
For Loop vs While Loop
I Python tjener for og while -løkker forskellige formål.
For loops bruges til at iterere over sekvenser, som lister eller tupler, og de har et bestemt iterationsområde.
Mens loops, på den anden side, fortsætter med at køre, så længe en bestemt betingelse forbliver sand.
# For loop example
for item in sequence:
# Code to execute for each item in sequence
# While loop example
while condition:
# Code to execute while condition is true
Antag, at du vil udskrive de første 5 numre fra 0.
Ved at bruge en for-løkke ville du skrive:
for i in range(5):
print(i)
For-løkken er ligetil, når du kender det nøjagtige antal iterationer på forhånd, som i dette tilfælde, hvor du ved, at du vil udskrive 5 tal.
På den anden side ville du ved at bruge en while-løkke skrive:
i = 0
while i < 5:
print(i)
i += 1
I while-løkken starter du med en startbetingelse (i < 5). Sløjfen fortsætter med at køre, indtil betingelsen ikke længere er sand. Du skal øge i i løkkens krop, ellers vil den køre for evigt.
For-løkken er enklere og mindre udsat for fejl til denne opgave. Men while-løkken giver mere fleksibilitet til situationer, hvor antallet af iterationer ikke er kendt på forhånd.
Overvej for eksempel et scenarie, hvor du beder brugeren om input, indtil de indtaster et gyldigt nummer. Du ved ikke, hvor mange gange du skal spørge, så en while-løkke er passende i dette tilfælde:
while True:
user_input = input("Please enter a number: ")
if user_input.isdigit():
print("Thank you!")
break
else:
print("Invalid input. Try again.")
I denne kode fortsætter while-løkken med at bede brugeren om input, indtil de indtaster et gyldigt nummer. Funktionen isdigit() kontrollerer, om inputtet er et tal.
Hvis det er tilfældet, udskrives en meddelelse, og løkken afsluttes ved hjælp af break-sætningen. Hvis det ikke er et tal, udskrives en fejlmeddelelse, og løkken fortsætter.
Afsluttende tanker
For sløjfer er et væsentligt værktøj i din programmeringsværktøjskasse. De giver en måde at udføre gentagne opgaver effektivt på. Ved at forstå loops får du evnen til at manipulere data, automatisere opgaver og løse komplekse problemer med blot nogle få linjer kode.
Ved at mastere for loops kan du gøre din kode mere læsbar, mere effektiv og mere pytonisk. Øvelse er nøglen til at blive fortrolig med denne konstruktion. Med den viden, du har opnået fra denne guide, er du godt rustet til at tackle en bred vifte af programmeringsudfordringer ved at bruge Python til loops!
Denne blog indeholder LuckyTemplates TOPN DAX-funktionen, som giver dig mulighed for at få unik indsigt fra dine data, hvilket hjælper dig med at træffe bedre markedsføringsbeslutninger.
Lær nogle fantastiske analytiske teknikker, som vi kan gøre til datamodellering i LuckyTemplates ved hjælp af DAX-understøttende tabeller.
Her dykker vi ned i LuckyTemplates Advanced DAX og implementerer rangeringslogik for at få en meget unik indsigt. Jeg viser også måleforgrening i dette eksempel.
Denne blog introducerer den nye funktion i LuckyTemplates, What-If-analyseparameteren. Du vil se, hvordan det gør alt hurtigt og nemt til din scenarieanalyse.
Lær, hvordan du afgør, om din omsætningsvækst er god ved at kontrollere, om dine avancer er udvidet ved hjælp af LuckyTemplates, der måler forgrening.
Lær og forstå, hvordan du kan oprette og bruge LuckyTemplates Parameters, som er en kraftfuld funktion i Query Editor.
Denne vejledning vil diskutere om oprettelse af et rundt søjlediagram ved hjælp af Charticulator. Du lærer, hvordan du designer dem til din LuckyTemplates-rapport.
Lær, hvordan du bruger PowerApps-funktioner og -formler til at forbedre funktionaliteten og ændre adfærd i vores Power Apps-lærredsapp.
I denne øvelse lærer du, hvordan du kæder funktioner sammen ved hjælp af dplyr-røroperatoren i programmeringssproget R.
RANKX fra LuckyTemplates giver dig mulighed for at returnere rangeringen af et specifikt tal i hver tabelrække, der udgør en del af en liste over tal.