#tworzenie listy
przykladowa_lista = [8, "kot", 3, 8.5, "fortnite"]
print("Przykładowa lista")
print(przykladowa_lista)

#append - dodanie elementu do listy
przykladowa_lista.append(-6)
print("Lista po dodaniu elementu")
print(przykladowa_lista)

#extend - poszerzenie listy o iterable element - np. listę, krotkę
przykladowa_lista.extend(["pies",3.14,"pi"])
print("Lista po rozszerzeniu o dodatkową listę")
print(przykladowa_lista)

#insert - dodawanie elementu do listy pod wskazanym indeksem
przykladowa_lista.insert(1,"fortnite")
print("Lista po dodaniu elementu")
print(przykladowa_lista)

#remove - usuwa pierwszy element z listy o podanej wartości
przykladowa_lista.remove("pies")
print("Lista po usunięciu elementu")
print(przykladowa_lista)

#pop - usuwa element spod wskazanego indeksu i go zwraca
a = przykladowa_lista.pop(2)
print(f"Lista po usunięciu elementu o indeksie 2 - {a}")
print(przykladowa_lista)

#index - zwraca indeks pierwszego znalezionego elementu
id = przykladowa_lista.index("fortnite")
print(f"Indeks elementu fortnite")
print(id)

#index - zwraca indeks pierwszego znalezionego elementu, przeszukując listę od indeksu 3
id = przykladowa_lista.index("fortnite",3)
print(f"Indeks elementu fortnite")
print(id)

#index - zwraca indeks pierwszego znalezionego elementu, przeszukując listę od indeksu 0 do 2
id = przykladowa_lista.index("fortnite",0,3)
print(f"Indeks elementu fortnite")
print(id)

#count - zwraca liczbę wystąpień danej wartości w liście
count = przykladowa_lista.count("fortnite")
print(f"Liczba wystąpień wartości fortnite w liście")
print(count)

#sort - sortowanie listy
#przykladowa_lista.sort()
#print(przykladowa_lista)
#błąd - nie można sortować listy z liczbami i słowami

#usunięcie elementów nie będących liczbami
przykladowa_lista.remove("fortnite")
przykladowa_lista.remove("fortnite")
przykladowa_lista.remove("pi")


#sortowanie listy
przykladowa_lista.sort()
print("Posortowana lista")
print(przykladowa_lista)

#reverse - odwraca kolejnosc listy
przykladowa_lista.reverse()
print("Odwrócona lista")
print(przykladowa_lista)

#copy - tworzy kopię listy
kopia_listy = przykladowa_lista.copy()
print("Lista")
print(przykladowa_lista)
print("Kopia listy")
print(kopia_listy)

#clear - usuwa wszystkie elementy z listy
przykladowa_lista.clear()
print("Wyczyszczona lista")
print(przykladowa_lista)




#Ćwiczenia
#1 Stwórz 2 listy składające się z 3 liczb każda
lista1 = [2,7,4]
lista2 = [9,3,6]
print(lista1)
print(lista2)
#2 Połącz stworzone wcześniej listy
lista1.extend(lista2)
print(lista1)
#3 Usuń elementy z indeksami 2 i 5 , który element należy usunąć najpierw?
lista1.pop(5)
lista1.pop(2)
print(lista1)
#4 Usuń największą i najmniejszą liczbę z listy
lista1.remove(min(lista1))
lista1.remove(max(lista1))
print(lista1)
#5 Dodaj liczbę do listy
lista1.append(5)
print(lista1)
#6 Posortuj listę
lista1.sort()
print(lista1)
#7 Utwórz kopię listy
lista_kopia = lista1.copy()
print(lista_kopia)
#8 Odwróc kolejność elementów w kopi
lista_kopia.reverse()
print(lista_kopia)
#9 Dodaj do każdej wartości w pierwszej listy 1, a w drugiej odejmij 1
for i in range(len(lista1)):
    lista1[i] += 1
for i in range(len(lista_kopia)):
    lista_kopia[i] -= 1
#10 Wyświetl obie listy
print(lista1)
print(lista_kopia)





