Următorul exemplu este doar pentru a arăta o mulțime de alte lucruri pe care listele le pot face (o dată nu mă aștept să le introduceți, dar probabil că ar trebui să vă jucați cu listele în modul interactiv până când vă simțiți confortabil cu ele.). Aici merge:
demolist = ["life", 42, "the universe", 6, "and", 9]
print("demolist = ",demolist)
demolist.append("everything")
print("after 'everything' was appended demolist is now:")
print(demolist)
print("len(demolist) =", len(demolist))
print("demolist.index(42) =", demolist.index(42))
print("demolist[1] =", demolist[1])
# În continuare vom parcurge lista
pentru c în interval (len (demolist)):
print("demolist[", c, "] =", demolist[c])
del demolist[2]
print("After 'the universe' was removed demolist is now:")
print(demolist)
if "life" in demolist:
print("'life' was found in demolist")
else:
print("'life' was not found in demolist")
if "amoeba" in demolist:
print("'amoeba' was found in demolist")
if "amoeba" not in demolist:
print("'amoeba' was not found in demolist")
another_list = [42,7,0,123]
another_list.sort()
print("The sorted another_list is", another_list)
Ieșirea este:
demolist = ['life', 42, 'the universe', 6, 'and', 9] after 'everything' was appended demolist is now: ['life', 42, 'the universe', 6, 'and', 9, 'everything'] len(demolist) = 7 demolist.index(42) = 1 demolist[1] = 42 demolist[ 0 ] = life demolist[ 1 ] = 42 demolist[ 2 ] = the universe demolist[ 3 ] = 6 demolist[ 4 ] = and demolist[ 5 ] = 9 demolist[ 6 ] = everything After 'the universe' was removed demolist is now: ['life', 42, 6, 'and', 9, 'everything'] 'life' was found in demolist 'amoeba' was not found in demolist The sorted another_list is [0, 7, 42, 123]
Acest exemplu folosește o mulțime de funcții noi. Observați că puteți imprima doar o listă întreagă. În continuare, funcția append
este utilizată pentru a adăuga un nou articol la sfârșitul listei. len
returnează câte articole sunt într-o listă. Indicii valizi (ca în numerele care pot fi utilizate în interiorul []
) ai unei liste variază de la 0 la
. Funcția
len - 1index
spune unde se află prima locație a unui articol într-o listă. Observați cum demolist.index(42
returnează 1, iar când demolist[1]
este rulat returnează 42. Pentru a obține ajutor pentru toate funcțiile pe care o listă vi le oferă, tastați help(list)
în interpretul interactiv Python.
Linia # Next we will loop through the list
este doar un memento pentru programator (numit și comentariu). Python ignoră tot ce este scris după un #
pe linia curentă. Urmează rândurile:
for c in range(len(demolist)):
print('demolist[', c, '] =', demolist[c])
creați o variabilă c
, care începe de la 0 și este incrementată până ajunge la ultimul index al listei. Între timp, declarația de tipărire imprimă fiecare element al listei.
O modalitate mult mai bună de a face cele de mai sus este:
for c, x in enumerate(demolist):
print("demolist[", c, "] =", x)
Comanda del
poate fi folosită pentru a elimina un anumit element dintr-o listă. Următoarele câteva rânduri folosesc operatorul in
pentru a testa dacă un element este sau nu într-o listă. Funcția sort
sortează lista. Acest lucru este util dacă aveți nevoie de o listă în ordine de la cel mai mic număr la cel mai mare sau alfabetic. Rețineți că aceasta rearanjează lista. Pe scurt, pentru o listă, au loc următoarele operații:
exemplu | explicație |
---|---|
demolist[2] |
accesează elementul de la indexul 2 |
demolist[2] = 3 |
setează elementul de la indexul 2 la 3 |
del demolist[2] |
elimină elementul de la indexul 2 |
len(demolist) |
returnează lungimea demolist |
"value" in demolist |
este True dacă "value" este un element în
|
"value" not in demolist |
este True dacă "value" nu este un element în demolist |
another_list.sort() |
sortează another_list . Rețineți că lista trebuie să conțină toate numerele sau toate șirurile pentru a fi sortate. |
demolist.index("value") |
returnează indexul primului loc în care apare "value" |
demolist.append("value") |
adaugă un element "value" la sfârșitul listei |
demolist.remove("value") |
elimină prima apariție a valorii din demolist (la fel ca del demolist[demolist.index("value")] ) |
Acest exemplu următor utilizează aceste caracteristici într-un mod mai util:
menu_item = 0
namelist = []
while menu_item != 9:
print("--------------------")
print("1. Print the list")
print("2. Add a name to the list")
print("3. Remove a name from the list")
print("4. Change an item in the list")
print("9. Quit")
menu_item = int(input("Pick an item from the menu: "))
if menu_item == 1:
current = 0
if len(namelist) > 0:
while current < len(namelist):
print(current, ".", namelist[current])
current = current + 1
else:
print("List is empty")
elif menu_item == 2:
name = input("Type in a name to add: ")
namelist.append(name)
elif menu_item == 3:
del_name = input("What name would you like to remove: ")
if del_name in namelist:
# namelist.remove(del_name) would work just as fine
item_number = namelist.index(del_name)
del namelist[item_number]
# The code above only removes the first occurrence of
# the name. The code below from Gerald removes all.
# while del_name in namelist:
# item_number = namelist.index(del_name)
# del namelist[item_number]
else:
print(del_name, "was not found")
elif menu_item == 4:
old_name = input("What name would you like to change: ")
if old_name in namelist:
item_number = namelist.index(old_name)
new_name = input("What is the new name: ")
namelist[item_number] = new_name
else:
print(old_name, "was not found")
print("Goodbye")
Și iată o parte din rezultat:
-------------------- 1. Print the list 2. Add a name to the list 3. Remove a name from the list 4. Change an item in the list 9. Quit Pick an item from the menu: 2 Type in a name to add: Jack Pick an item from the menu: 2 Type in a name to add: Jill Pick an item from the menu: 1 0 . Jack 1 . Jill Pick an item from the menu: 3 What name would you like to remove: Jack Pick an item from the menu: 4 What name would you like to change: Jill What is the new name: Jill Peters Pick an item from the menu: 1 0 . Jill Peters Pick an item from the menu: 9 Goodbye
Acesta a fost un program lung. Să aruncăm o privire la codul sursă. Linianamelist
face din variabila
= []namelist
o listă fără articole (sau elemente). Următoarea linie importantă este while menu_item != 9:
. Această linie începe o buclă care permite sistemul de meniu pentru acest program. Următoarele câteva rânduri afișează un meniu și decid ce parte a programului să ruleze.
Această secțiune
current = 0
if len(namelist) > 0:
while current < len(namelist):
print(current, ".", namelist[current])
current = current + 1
else:
print("List is empty")
parcurge lista și tipărește fiecare nume. len(namelist)
spune câte articole sunt în listă. Dacă len
returnează 0, atunci lista este goală.
Apoi, câteva rânduri mai târziu, apare instrucțiunea
. Folosește funcția
namelist.append(name)append
pentru a adăuga un articol la sfârșitul listei. Sari in jos încă doua linii și observă această secțiune de cod:
item_number = namelist.index(del_name)
del namelist[item_number]
Aici funcția index
este folosită pentru a găsi valoarea indexului care va fi folosită ulterior pentru a elimina elementul. del
este folosit pentru a elimina un element din listă.
namelist[item_number]
Următoarea secțiune
old_name = input("What name would you like to change: ")
if old_name in namelist:
item_number = namelist.index(old_name)
new_name = input("What is the new name: ")
namelist[item_number] = new_name
else:
print(old_name, "was not found")
folosește index
pentru a găsi item_number
și apoi pune new_name
unde era old_name
.
Felicitări, cu listele la îndemână, acum știți suficient limbaj pentru a putea face orice calcule pe care le poate face un computer (aceasta este cunoscută din punct de vedere tehnic sub numele de Completitudinea Turing). Desigur, există încă multe funcții care sunt folosite pentru a vă ușura viața.
(Include texte din Wikibooks traduse și adaptate de Nicolae Sfetcu)
Lasă un răspuns