logo

Mata in en lista i Python

I den här artikeln kommer vi att diskutera hur vi kan mata in en lista i Python. Men innan vi diskuterar deras metoder måste vi känna till listan i Python.

Vad är en lista?

A lista är en inbyggd datastruktur som tillhandahålls av Python, som möjliggör organisation och lagring av en samling objekt. En lista över föränderliga saker presenteras i en logisk ordning och omges av hakparenteser. Varje listobjekt särskiljs från de andra med kommatecken.

Exempel:

 drivers = ['LEWIS', 'GEORGE', 'MAX', 'SEBASTIAN'] 

De lista 'förare', som inkluderar elementen 'LEWIS', 'GEORGE', 'MAX', och 'SEBASTIAN', används i denna illustration. En lista kan ha poster gjorda från strängar, siffror, och även ytterligare listor.

I Python är listdatastrukturen föränderlig, vilket gör att användaren kan lägga till, ta bort eller uppdatera dess element. Listor stöder slumpmässig åtkomst till deras element. De index på en lista börjar med 0 , och alla nödvändiga element kan nås genom indexering.

Tar input

Det finns många sätt att ta emot input i Python. Några av dem nämns nedan

1. Indata():

Använder Python's input() funktion, du kan skicka användarinmatning till en lista och spara den som en sträng. Därefter kan inmatningen bearbetas för att generera ett listformat.

regex i java

Exempel:

 # Taking input as a string using input function input_str = input('Enter elements of the list separated by space: ') # Converting input string to a list of integers my_list = input_str.split() my_list = [int(num) for num in my_list] # Printing the list print('List:', my_list) 

Produktion:

 Enter elements of the list separated by space: 1 2 3 4 5 List: [1, 2, 3, 4, 5] 

I den här situationen blir användaren provocerad att ange en lista över saker som är isolerade av mellanslag. Att använda input() funktion, en sträng separeras i sina delar med hjälp av split() teknik. Sakerna för resultat ändras helt till siffror med hjälp av listförståelsen.

Till exempel om användaren skriver '1 2 3 4 5', programmet kommer att konvertera deras input till lista [1, 2, 3, 4, 5] och skriv ut det som ett resultat.

sortera en array i java

Beroende på vilka typer av komponenter du förväntar dig i listan (t.ex strängar, flyter, och så vidare), kan du modifiera konverteringstekniken eller införliva felhantering för att hantera felaktiga indata.

2. Använd split() och map():

Ingången kan separeras som skickas till dig som en sträng. Därefter kan objekten ändras till önskad datatyp genom att ge var och en en konverteringsfunktion.

namngivning av javakonventioner

Exempel:

 # Taking input as a string and converting it to a list of integers using split and map input_str = input('Enter elements of the list separated by space: ') my_list = list(map(int, input_str.split())) # Printing the list print('List:', my_list) 

Produktion:

 Enter elements of the list separated by space: 1 2 3 4 5 List: [1, 2, 3, 4, 5] 

Dela() är en inbyggd strängmetod i Python. Den delar upp en sträng i en lista med delsträngar med hjälp av en avgränsare som redan har skickats som argument. De inbyggd split() funktion fungerar på ett sådant sätt att den separerar den inmatade texten i ett antal segment huvudsakligen beroende av blanksteg (som t.ex. flikar, mellanslag, eller nyradstecken ) om en specifik avgränsare inte nämns när den används i koden.

Inmatningstexten i provet är uppdelad i dess beståndsdelar med hjälp av input_str.split(). De split() metod halverar inmatningssträngen vid varje mellanslag, vilket resulterar i en lista med delsträngar. Till exempel, dela() kommer att dela ['1', '2', '3', '4', '5'] om användaren går in '1 2 3 4 5'.

Resultaten av att tillämpa en specificerad funktion på varje objekt i en iterabel (som en lista ) till en iterator returneras av Pythons inbyggd map() metod. I exemplet är int() funktion tillämpas på varje komponent i den delade inmatningssträngen med hjälp av map(int, input_str.split()) metod.

De int() metod konverterar en sträng som representerar en heltal till ett riktigt heltal. Vi kartlägger int() till varje element i den delade inmatningssträngen för att få en ny iterabel med matchande heltalsvärden. Påståendet map(int, ['1', '2', '3', '4', '5']) kommer att resultera i en iterator med heltal [1, 2, 3, 4, 5].

3. Använda en slinga:

Du kan använda en slinga för att upprepade gånger uppmana användaren att mata in och lägga till varje inmatat värde till listan

Exempel:

förskjuten höjd
 # input using a loop n = int(input('Enter the number of elements: ')) my_list = [] for i in range(n): element = input('Enter element {}: '.format(i+1)) my_list.append(element) # Printing the list print('List:', my_list) 

Produktion:

 Enter the number of elements: 4 Enter element 1: TESLA Enter element 2: FORD Enter element 3: FERRARI Enter element 4: MERCEDES List: ['TESLA','FORD','FERRARI', 'MERCEDES'] 

I det här exemplet uppmanas användaren att ange antalet element som de vill mata in. Låt oss säga att de går in 4 . Sedan går programmet in i en slinga som itererar 4 gånger använder sig av intervall(n). Under varje iteration uppmanas användaren att ange ett element, med början från Ange element 1 : och inkrementera för efterföljande iterationer.

Användaren går in 'TESLA', 'FORD', 'FERRARI', och 'MERCEDES' som lämpliga element i föregående exempel. Varje komponent är bifogad till min_lista lista utnyttjar attach() teknik.

    Indatavalidering:Det är avgörande att ta ingångsvalidering beaktas vid bearbetning av en lista med indata. För att säkerställa att användaren ger korrekt inmatning kanske du vill implementera felhantering. Du kan till exempel avgöra om inmatningen är inom det önskade formatet eller räckvidd och be användaren att gå in igen om en ogiltig inmatning hittas.Dela med anpassad avgränsare:När du delar en sträng, split() metod som standard använder blanktecken som avgränsare. De split() metod tillåter dig att ge en anpassad avgränsare som en argument dock. Använd till exempel input_str.split(',') för att dela en kommaseparerad ingång.Hantera olika datatyper:Du kan behöva hantera flera datatyper i inmatningslistan beroende på dina behov. För att ändra indatakomponenternas datatyper, använd lämpliga konverteringsoperationer som int(), float() eller str(). Fråga om listlängd:Du kan initialt fråga användaren om antalet element om du vill ha inmatning på listans längd. Efter det kan du tilldela de nödvändiga resurserna och upprepa det antal gånger som krävs.Inmatningsformatering:Tänk på att låta användaren veta det avsedda inmatningsformatet i meddelandet. Genom att göra det kan du förhindra missförstånd och säkerställa att användaren anger inmatningen på rätt sätt.Felhantering:För att undvika ytterligare missförstånd är det att föredra att korrekt nämna indataformatet i användarprompten så att vi ser till att användaren anger indata i det format som krävs.Acceptera multi-line input:En slinga kan användas för att hämta inmatningselementet för varje iteration om användaren vill ge indata med flera rader. Det är användbart om indata har radbrytningar.
 my_list = [] print('Enter elements of the list my_list(press 'x' to finish):') while True: element = input() if element == 'x': break my_list.append(element) # Printing the list print('List:', my_list) 

Produktion:

 Enter elements of the listmy_list (press 'x' to finish): LAMBORGHINI FERRARI MERCEDES AMG X The list will be :['LAMBORGHINI', 'FERRARI', 'MERCEDES AMG']. 

Slutsats

Slutligen kan vi dra slutsatsen att de data som ska tas som input, användarpreferenser och krav, och metoden för att ta användarinput kan variera mellan teknikerna som diskuterats ovan.

xor i java

Om användaren vill ta en inmatning av en sträng, de kan använda användningen av split() och map() att dela upp den givna strängen i olika segment beroende på vilken avgränsare som tillhandahålls på motsvarande sätt. Användaren kan också göra explicita typkonverteringar för att konvertera datatypen för varje skapat segment. Detta tillvägagångssätt är användbart när indata separeras med mellanslag eller kommatecken.

Dessutom, om det totala antalet ingående komponenter är okänt i förväg, a Dynamisk ingång process kan användas för att påminna användaren efter varje iteration att tillhandahålla nästa inmatningselement, som läggs till i lämplig datastruktur.