Listor i Python

I den här artikeln förklarar vi listor i Python.

Du kan lära dig olika operationer på listor och list-genereringar med kodexempel.

YouTube Video

Listor i Python

I Python implementeras datastrukturen som ofta kallas en array vanligtvis som en 'lista'. Python-listor är mycket flexibla och tillåter följande operationer:.

Skapa en lista

1# Create an empty list
2my_list = []
3print(my_list)
4
5# Create a list with elements
6my_list = [1, 2, 3, 4, 5]
7print(my_list)
  • Du kan skapa en lista som tom eller med angivna initiala element.

Komma åt och ändra listelement

1my_list = [1, 2, 3, 4, 5]
2print(my_list)  # [1, 2, 3, 4, 5]
3
4element = my_list[0]  # Get the element at index 0
5print(element)  # 1
6
7my_list[1] = 10  # Change the element at index 1 to 10
8print(my_list)  # [1, 10, 3, 4, 5]
  • Listelement kan nås eller ändras genom att ange deras index.

Hämta längden på en lista

1my_list = [1, 2, 3, 4, 5]
2
3length = len(my_list)
4print(my_list)
5print(length)
  • Med funktionen len() kan du få antalet element.

Att lägga till och infoga element i en lista

1my_list = [1, 2, 3, 4, 5]
2
3my_list.append(6)
4print(my_list)
  • Med metoden append() kan du lägga till ett element i slutet av en lista.
1my_list = [1, 2, 3, 4, 5]
2
3my_list.insert(2, "A")  # Insert "A" at index 2
4print(my_list)
  • Med metoden insert() kan du infoga ett element på valfri position.

Ta bort element från en lista

1my_list = [1, 2, 3, 4, 5]
2
3del my_list[2]  # Delete the element at index 2
4print(my_list)
5
6removed_element = my_list.pop(0)  # Delete and return the element at index 0
7print(removed_element)
8print(my_list)
  • Med del-satsen eller metoden pop() kan du ta bort ett element på en angiven position. Metoden pop() returnerar det borttagna elementet.
1my_list = [1, 2, 3, 4, 5]
2
3my_list.remove(5)  # Remove the first occurrence of 5 from the list
4print(my_list)
  • Med metoden remove() kan du ta bort den första förekomsten av ett angivet värde.

Lista skivning (slicing)

1my_list = [1, 2, 3, 4, 5]
2
3print(my_list[1:3])  # [2, 3]
4print(my_list[:3])   # [1, 2, 3]
5print(my_list[2:])   # [3, 4, 5]
6print(my_list[:])    # [1, 2, 3, 4, 5]
  • Uppdelningssyntaxen [start:end] hämtar element från start till end - 1. Du kan också utelämna antingen start eller end.

Sortera en lista

1my_list = [2, 1, 5, 4, 3]
2print(my_list)  # [2, 1, 5, 4, 3]
3
4my_list.sort()  # Sort in ascending order (modifies the list)
5print(my_list)  # [1, 2, 3, 4, 5]
6
7my_list.sort(reverse=True)  # Sort in descending order
8print(my_list)  # [5, 4, 3, 2, 1]
  • Metoden sort() kan sortera en lista i stigande eller fallande ordning.
1my_list = [3, 1, 4, 2]
2sorted_list = sorted(my_list)
3print(my_list)       # [3, 1, 4, 2]
4print(sorted_list)   # [1, 2, 3, 4]
  • Funktionen sorted() låter dig skapa en ny sorterad lista utan att ändra den ursprungliga listan.

Skapa en omvänd lista

1my_list = [1, 2, 3, 4, 5]
2
3my_list.reverse()
4print(my_list)
  • Metoden reverse() kan vända ordningen på elementen i en lista.

Listkomprehension

I Python kan du använda den kraftfulla list comprehension-syntaksen för att skapa listor på ett kortfattat sätt. List comprehensions låter dig skriva hela processen för att skapa nya listor med for-loopar på en enda rad. Du kan också använda villkor för att extrahera endast specifika element.

 1# Generate squares of numbers from 0 to 9
 2squares = [x**2 for x in range(10)]
 3print(squares)  # [0, 1, 4, 9, 16, 25, 36, 49, 64, 81]
 4
 5# Use a condition to extract squares of even numbers only
 6even_squares = [x**2 for x in range(10) if x % 2 == 0]
 7print(even_squares)  # [0, 4, 16, 36, 64]
 8
 9# Store either the square or the original number based on a condition
10squares_or_original = [x**2 if x % 2 == 0 else x for x in range(10)]
11print(squares_or_original)
12# Output: [0, 1, 4, 3, 16, 5, 36, 7, 64, 9]
  • Med list comprehensions kan du enkelt skapa nya listor med hjälp av loopar och villkor. Genom att använda if och if-else kan du skapa listkomprehensioner som extraherar element eller genererar olika värden baserat på villkor.

Sammanfogning av listor

 1# Concatenate two lists using the + operator
 2a = [1, 2, 3]
 3b = [4, 5, 6]
 4combined = a + b
 5print(combined)  # [1, 2, 3, 4, 5, 6]
 6
 7# Extend an existing list with another list
 8a = [1, 2, 3]
 9b = [4, 5, 6]
10a.extend(b)
11print(a)  # [1, 2, 3, 4, 5, 6]
12
13# Concatenate multiple lists using unpacking (*)
14a = [1, 2, 3]
15b = [4, 5, 6]
16c = [7, 8, 9]
17merged = [*a, *b, *c]
18print(merged)  # [1, 2, 3, 4, 5, 6, 7, 8, 9]
  • I Python kan du sammanfoga listor med hjälp av +-operatorn, extend()-metoden eller uppackningssyntaxen (*). Det är vanligt att använda + eller * när man skapar en ny lista, och extend() när man uppdaterar en befintlig lista.

Sammanfattning

Listor är en grundläggande datastruktur i Python och används i många situationer. Det finns många flexibla och användbara funktioner, och att bemästra dem gör programmeringen mer effektiv.

Du kan följa med i artikeln ovan med hjälp av Visual Studio Code på vår YouTube-kanal. Vänligen kolla även in YouTube-kanalen.

YouTube Video