Maison >développement back-end >Tutoriel Python >Maîtriser les listes Python : techniques essentielles à connaître

Maîtriser les listes Python : techniques essentielles à connaître

Patricia Arquette
Patricia Arquetteoriginal
2024-11-12 22:28:02267parcourir

Mastering Python Lists: Essential Techniques You Need to Know

Pour

simple pour

Cela parcourra la liste et chaque élément de la liste sera disponible en tant que variable à chaque itération. Ceci est largement utilisé lorsqu'il est nécessaire de parcourir tous les éléments de la liste.

operating_systems = ["windows", "mac", "linux"]
for os in operating_systems:
    print(os)`

# Output
windows
mac
linux

pour et gamme

Lorsqu'un accès est nécessaire en fonction de l'index et que la valeur de l'index est requise.

operating_systems = ["windows", "mac", "linux"]
for i in range(len(operating_systems)):
    print(f"Index {i}: {operating_systems[i]}")
# Output
Index 0: windows
Index 1: mac
Index 2: linux

pour et énumérer

C'est une manière élégante, si vous avez besoin à la fois de l'index et de la valeur

operating_systems = ["windows", "mac", "linux"]
for index, os in enumerate(operating_systems):
    print(f"Index is {index} and value is {os}")
# Output
Index is 0 and value is windows
Index is 1 and value is mac
Index is 2 and value is linux

Alors que

simple tandis que

operating_systems = ["windows", "mac", "linux"]
i = 0 # Inital condition, required to start
while i < len(operating_systems):
    print(f"While looping {i} got the value {operating_systems[i]}")
    i = i + 1 # This is very important, dont forget about infinite loops
# Output
While looping 0 got the value windows
While looping 1 got the value mac
While looping 2 got the value linux

Itérateur

Donne un contrôle précis sur le moment où faire avancer l'itérateur, même si nous devons nous fier à StopIteration pour vérifier si la fin est atteinte.

operating_systems = ["windows", "mac", "linux"]
iterator = iter(operating_systems)
while True:
    try:
        os = next(iterator)
        print(f"Consumed form iterator {os}")
    except StopIteration:
        print("Consumed all from iterator")
        break
# Output
Consumed form iterator windows
Consumed form iterator mac
Consumed form iterator linux
Consumed all from iterator
# Hack to avoid StopIteration
iterator = iter(operating_systems)
end_of_list = object()
reached_end = False
while not reached_end:
    os = next(iterator, end_of_list)# a predefined object as end of the list
    if os != end_of_list:
        print(os)
    else:
        reached_end = True

Compréhension de la liste

Quand une transformation est nécessaire

operating_systems = ["windows", "mac", "linux"]
os_uppercase = [os.upper() for os in operating_systems]
print(os_uppercase) 
# Output
['WINDOWS', 'MAC', 'LINUX']

Vélo

Lorsque parcourir une liste est nécessaire. Utiliser avec une condition aux limites appropriée pour rompre la boucle

import itertools
operating_systems = ["windows", "mac", "linux"]
for item in itertools.cycle(operating_systems):  
    print(item)
# Infinite cycling loopmake sure to have proper boundary condition to break
# Output
windows
mac
linux
windows
mac
linux
windows
mac
linux
windows
mac
linux
windows ....... Infinite loop

Sur plusieurs listes

Parcourez simultanément plusieurs listes. Notez le résultat si les tailles de liste sont différentes.

operating_systems = ["windows", "mac", "linux"]
mobile_operating_systems = ["android", "ios"]

for os, mobile_os in zip(operating_systems,mobile_operating_systems):
    print(os, mobile_os)
# Output
windows android
mac ios

Boucle à l'envers

operating_systems = ["windows", "mac", "linux"]
for reversed_os in reversed(operating_systems):
    print(reversed_os)
# Output
linux
mac
windows

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn