5 Listy

lista=[]

lista=[0] * 5    - stworzy listę z 5 zerami, nie mnoży a POWIELA

elementy numerowane(indeks), pierwszy 0 ostatni ilosc-1

lista[4]   - uzyskiwanie dostępu, w tym przypadku do 5 elementu listy
lista[-1]  - ostatni element (-2 przedostatni, i tak dalej)

uzyskiwanie dostępu przykłady:
b=lista[a]    do b element listy o indeksie równym a
c=lista[2*2]    czyli index 4
d=lista[lista2[0]]   do 'd' element listy o indeksie równym wartości zapisanej w liscie2 na indeksie 0
e=lista[int(input())]   użytkownik sam poda indeks

lista[2]=a   do trzeciego! elementu listy wpisz wartość zmiennej a

jeśli się odwołujemy, element o podanym indeksie musi istnieć !
jak dodać jesli nie istnieje ? za chwilę ...

Przykład z zastosowaniem listy:

lista=[1,2,3,4,5]
suma=0
for i in range(5):
   suma=suma+lista[i]
print(suma)

zmienna 'i' będzie przybierać wartości od 0 do 4, dlatego po wstawieniu 'i' w miejsce indeksu listy w pętli sumować będziemy kolejne elementy listy
ale...
po pierwsze:
możemy skrócić sumę do:
suma+=lista[i]

a po drugie:
zapisanie warunków for w taki sposób

for i in lista:

sprawi, że pętla wykona się 5 razy(5 elementów listy)  a za każdym razem zmienna 'i' będzie przyjmowała wartości kolejnych elementów listy
pozostaje jeszcze zmienić sposób sumowania na
suma=suma+i
czyli skrótowo
suma+=i



lista=[1,2,3,4,5]
suma=0
for i in lista:
   suma+=i
print(suma)



operator IN:         czy wartość występuje, lub nie występuje na liście, wynik True - False
lista=[1,2,3,4,5]
print(5 in lista)
print(5 not in lista)

wynik:
True
False



wycinki listy:

lista[skąd : dokąd]   jednak podobnie jak w range maksymalna wartość to jest pierwsze NIE pobierana

lista=[1,2,3,4,5]
lista2=lista[1:3]
print(lista2)

wynik:
[2,3]              czyli nie wyświetla 4 pomimo, że ma indeks 3

lista[ : ] - wycinek od początku do końca



określanie długości listy:
len(lista)     - wynik: długość listy

czyli:

lista[skąd: ]
równoważne

lista[skąd:len(lista)]

ale
lista2=lista[ : ]            (do listy 2 przypisuje WARTOŚCI z podanego wycinka)

to nie to samo co:
lista2=lista                   (lista i lista2  teraz odwołują się do tej samej listy, zmień 1 lement ;-)


usuwanie elementu listy:
del lista[0]                          z listy usunie zerowy element (pierwszy stanie się zerowym)

można usuwać wycinki
ale

del lista    usunie całą listę a nie tylko pozostawi pustą !!!


Dodawanie elementu do listy:

metoda append  (różnica pomiędzy funkcją a metodą patrz post nr 4)
lista.append(element)    dodaje na końcu listy element



metoda insert
lista.insert(gdzie,element)   'gdzie' jest indeksem

lista.insert(len(lista),10)      w tym przypadku wstawi na końcu wartość 10
można podać bardzo dużą wartość indeksu, wstawi na końcu, dużą z minusem, na początku