1. Learn
  2. /
  3. Cursuri
  4. /
  5. Scriere eficientă a codului Python

Connected

exercițiu

Practică cu funcții built-in: enumerate()

În acest exercițiu, vei exersa utilizarea funcției built-in enumerate() din Python. Această funcție este utilă pentru a obține o listă indexată. Să presupunem, de exemplu, că ai o listă cu persoanele sosite la o petrecere pe care o organizezi. Lista este ordonată după ordinea sosirii (Jerry a sosit primul, urmat de Kramer etc.):

names = ['Jerry', 'Kramer', 'Elaine', 'George', 'Newman']

Dacă ai vrea să atașezi un index care să reprezinte ordinea de sosire a fiecărei persoane, ai putea folosi următoarea buclă for:

indexed_names = []
for i in range(len(names)):
    index_name = (i, names[i])
    indexed_names.append(index_name)

[(0,'Jerry'),(1,'Kramer'),(2,'Elaine'),(3,'George'),(4,'Newman')]

Însă aceasta nu este cea mai eficientă soluție. Hai să vedem cum putem folosi enumerate() pentru a face lucrurile mai eficient.

Instrucțiuni

100 XP
  • În loc să folosești for i in range(len(names)), actualizează bucla for astfel încât să folosești i ca variabilă de index și name ca variabilă iteratoare, utilizând enumerate().
  • Rescrie bucla for anterioară folosind enumerate() și list comprehension pentru a crea o nouă listă, indexed_names_comp.
  • Creează o altă listă (indexed_names_unpack) folosind caracterul asterisc (*) pentru a despacheta obiectul enumerate creat prin aplicarea enumerate() pe names. De această dată, pornește indexul pentru enumerate() de la unu în loc de zero.