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

Connected

exercițiu

O mostră din ce urmează

În acest exercițiu, vei explora atât modalitatea non-Pythonică, cât și cea Pythonică de a itera peste o listă.

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

Să presupunem că vrei să colectezi numele din lista de mai sus care au șase sau mai multe litere. În alte limbaje de programare, abordarea tipică este să creezi o variabilă index (i), să folosești i pentru a itera peste listă și să folosești o instrucțiune if pentru a colecta numele cu șase sau mai multe litere:

i = 0
new_list= []
while i < len(names):
    if len(names[i]) >= 6:
        new_list.append(names[i])
    i += 1

Hai să explorăm câteva modalități mai Pythonice de a face același lucru.

Instrucțiuni 1/3

undefined XP
  • 1

    Afișează lista new_list, creată folosind o abordare non-Pythonică.

  • 2

    O abordare mai Pythonică ar itera direct peste elementele din names, fără să folosească o variabilă index. Afișează better_list.

  • 3

    Cea mai bună modalitate Pythonică de a face acest lucru este prin folosirea list comprehension. Afișează best_list.