Python-liste (med eksempler)

I denne artikkelen vil vi lære alt om Python-lister, hvordan de blir opprettet, kutte en liste, legge til eller fjerne elementer fra dem og så videre.

Video: Pythonlister og tupler

Python tilbyr en rekke sammensatte datatyper ofte referert til som sekvenser. List er en av de mest brukte og svært allsidige datatypene som brukes i Python.

Hvordan lage en liste?

I Python-programmering opprettes en liste ved å plassere alle elementene (elementene) innenfor firkantede parenteser (), atskilt med kommaer.

Den kan ha et hvilket som helst antall elementer, og de kan være av forskjellige typer (heltall, flyt, streng osv.).

 # empty list my_list = () # list of integers my_list = (1, 2, 3) # list with mixed data types my_list = (1, "Hello", 3.4)

En liste kan også ha en annen liste som et element. Dette kalles en nestet liste.

 # nested list my_list = ("mouse", (8, 4, 6), ('a'))

Hvordan få tilgang til elementer fra en liste?

Det er forskjellige måter vi kan få tilgang til elementene i en liste.

Listeindeks

Vi kan bruke indeksoperatøren ()til å få tilgang til et element i en liste. I Python starter indekser på 0. Så, en liste med 5 elementer vil ha en indeks fra 0 til 4.

Å prøve å få tilgang til andre indekser enn disse vil øke en IndexError. Indeksen må være et helt tall. Vi kan ikke bruke flyter eller andre typer, dette vil resultere i TypeError.

Du får tilgang til nestede lister ved hjelp av nestet indeksering.

 # List indexing my_list = ('p', 'r', 'o', 'b', 'e') # Output: p print(my_list(0)) # Output: o print(my_list(2)) # Output: e print(my_list(4)) # Nested List n_list = ("Happy", (2, 0, 1, 5)) # Nested indexing print(n_list(0)(1)) print(n_list(1)(3)) # Error! Only integer can be used for indexing print(my_list(4.0))

Produksjon

 poea 5 Traceback (siste anrop sist): Fil "", linje 21, i TypeError: listeindekser må være heltall eller skiver, ikke flyte

Negativ indeksering

Python tillater negativ indeksering for sekvensene. Indeksen på -1 refererer til den siste varen, -2 til den nest siste varen og så videre.

 # Negative indexing in lists my_list = ('p','r','o','b','e') print(my_list(-1)) print(my_list(-5))

Når vi kjører programmet ovenfor, får vi følgende utdata:

 ep
Listeindeksering i Python

Hvordan kutte lister i Python?

Vi kan få tilgang til en rekke elementer i en liste ved å bruke skiveroperatoren :(kolon).

 # List slicing in Python my_list = ('p','r','o','g','r','a','m','i','z') # elements 3rd to 5th print(my_list(2:5)) # elements beginning to 4th print(my_list(:-5)) # elements 6th to end print(my_list(5:)) # elements beginning to end print(my_list(:))

Produksjon

 ('o', 'g', 'r') ('p', 'r', 'o', 'g') ('a', 'm', 'i', 'z') ('p ',' r ',' o ',' g ',' r ',' a ',' m ',' i ',' z ')

Oppskjæring kan best visualiseres ved å betrakte indeksen som mellom elementene som vist nedenfor. Så hvis vi ønsker å få tilgang til et område, trenger vi to indekser som vil skære den delen fra listen.

Element Slicing fra en liste i Python

Hvordan endre eller legge til elementer i en liste?

Lister er mutable, noe som betyr at elementene deres kan endres i motsetning til streng eller tupel.

Vi kan bruke oppdragsoperatøren ( =) til å endre et element eller et utvalg av varer.

 # Correcting mistake values in a list odd = (2, 4, 6, 8) # change the 1st item odd(0) = 1 print(odd) # change 2nd to 4th items odd(1:4) = (3, 5, 7) print(odd) 

Produksjon

 (1, 4, 6, 8) (1, 3, 5, 7)

Vi kan legge til ett element i en liste ved hjelp av append()metoden eller legge til flere elementer ved hjelp av extend()metoden.

 # Appending and Extending lists in Python odd = (1, 3, 5) odd.append(7) print(odd) odd.extend((9, 11, 13)) print(odd)

Produksjon

 (1, 3, 5, 7) (1, 3, 5, 7, 9, 11, 13)

Vi kan også bruke +operatør til å kombinere to lister. Dette kalles også sammenføyning.

Den *operatør gjentar en liste for gitt antall ganger.

 # Concatenating and repeating lists odd = (1, 3, 5) print(odd + (9, 7, 5)) print(("re") * 3)

Produksjon

 (1, 3, 5, 9, 7, 5) ('re', 're', 're')

Videre kan vi sette inn ett element på ønsket sted ved hjelp av metoden insert()eller sette inn flere elementer ved å klemme det inn i et tomt stykke av en liste.

 # Demonstration of list insert() method odd = (1, 9) odd.insert(1,3) print(odd) odd(2:2) = (5, 7) print(odd)

Produksjon

 (1, 3, 9) (1, 3, 5, 7, 9)

Hvordan sletter eller fjerner du elementer fra en liste?

Vi kan slette ett eller flere elementer fra en liste ved hjelp av nøkkelordet del. Det kan til og med slette listen helt.

 # Deleting list items my_list = ('p', 'r', 'o', 'b', 'l', 'e', 'm') # delete one item del my_list(2) print(my_list) # delete multiple items del my_list(1:5) print(my_list) # delete entire list del my_list # Error: List not defined print(my_list)

Produksjon

 ('p', 'r', 'b', 'l', 'e', ​​'m') ('p', 'm') Traceback (siste samtale sist): Fil "", linje 18, i NameError: navnet 'my_list' er ikke definert

Vi kan bruke remove()metoden for å fjerne det gitte elementet eller pop()metoden for å fjerne et element ved den gitte indeksen.

The pop() method removes and returns the last item if the index is not provided. This helps us implement lists as stacks (first in, last out data structure).

We can also use the clear() method to empty a list.

 my_list = ('p','r','o','b','l','e','m') my_list.remove('p') # Output: ('r', 'o', 'b', 'l', 'e', 'm') print(my_list) # Output: 'o' print(my_list.pop(1)) # Output: ('r', 'b', 'l', 'e', 'm') print(my_list) # Output: 'm' print(my_list.pop()) # Output: ('r', 'b', 'l', 'e') print(my_list) my_list.clear() # Output: () print(my_list)

Output

 ('r', 'o', 'b', 'l', 'e', 'm') o ('r', 'b', 'l', 'e', 'm') m ('r', 'b', 'l', 'e') ()

Finally, we can also delete items in a list by assigning an empty list to a slice of elements.

 >>> my_list = ('p','r','o','b','l','e','m') >>> my_list(2:3) = () >>> my_list ('p', 'r', 'b', 'l', 'e', 'm') >>> my_list(2:5) = () >>> my_list ('p', 'r', 'm')

Python List Methods

Methods that are available with list objects in Python programming are tabulated below.

They are accessed as list.method(). Some of the methods have already been used above.

Python List Methods
append() - Add an element to the end of the list
extend() - Add all elements of a list to the another list
insert() - Insert an item at the defined index
remove() - Removes an item from the list
pop() - Removes and returns an element at the given index
clear() - Removes all items from the list
index() - Returns the index of the first matched item
count() - Returns the count of the number of items passed as an argument
sort() - Sort items in a list in ascending order
reverse() - Reverse the order of items in the list
copy() - Returns a shallow copy of the list

Some examples of Python list methods:

 # Python list methods my_list = (3, 8, 1, 6, 0, 8, 4) # Output: 1 print(my_list.index(8)) # Output: 2 print(my_list.count(8)) my_list.sort() # Output: (0, 1, 3, 4, 6, 8, 8) print(my_list) my_list.reverse() # Output: (8, 8, 6, 4, 3, 1, 0) print(my_list)

Output

 1 2 (0, 1, 3, 4, 6, 8, 8) (8, 8, 6, 4, 3, 1, 0)

List Comprehension: Elegant way to create new List

List comprehension is an elegant and concise way to create a new list from an existing list in Python.

A list comprehension consists of an expression followed by for statement inside square brackets.

Here is an example to make a list with each item being increasing power of 2.

 pow2 = (2 ** x for x in range(10)) print(pow2)

Output

 (1, 2, 4, 8, 16, 32, 64, 128, 256, 512)

This code is equivalent to:

 pow2 = () for x in range(10): pow2.append(2 ** x)

A list comprehension can optionally contain more for or if statements. An optional if statement can filter out items for the new list. Here are some examples.

 >>> pow2 = (2 ** x for x in range(10) if x> 5) >>> pow2 (64, 128, 256, 512) >>> odd = (x for x in range(20) if x % 2 == 1) >>> odd (1, 3, 5, 7, 9, 11, 13, 15, 17, 19) >>> (x+y for x in ('Python ','C ') for y in ('Language','Programming')) ('Python Language', 'Python Programming', 'C Language', 'C Programming')

Other List Operations in Python

List Membership Test

We can test if an item exists in a list or not, using the keyword in.

 my_list = ('p', 'r', 'o', 'b', 'l', 'e', 'm') # Output: True print('p' in my_list) # Output: False print('a' in my_list) # Output: True print('c' not in my_list)

Output

 True False True

Iterating Through a List

Using a for loop we can iterate through each item in a list.

 for fruit in ('apple','banana','mango'): print("I like",fruit)

Output

 Jeg liker eple Jeg liker banan Jeg liker mango

Interessante artikler...