Python/Kenjiro995/Pole
Vzhled
< Python | Kenjiro995
Seznam (pole, list) nám poskytuje způsob, jak ukládat větší množství hodnot přehledně a na jedno místo.
Definice pole (vytvoření)
[editovat]a = ["Jaruš", "Petra", "Lenka", "Patrik", "Lukáš", "Marek", "Jan", "Luboš"]
b = [8, 9, 3, 31, 16, 3.14, 2.879316]
c = [2, 14, 3, 2, 2, 1, 7, 1, 5, 11, 8 ]
d = [ "Jaruš", 3, 8 , 1, 1, "Patrik", 3.14]
Čtení prvku
[editovat]a = ["Jaruš", "Petra", "Lenka", "Patrik", "Lukáš", "Marek", "Jan", "Luboš"]
# 0 1 2 3 4 5 6 7
print(a) # vypíše celý seznam
print(a[0]) # vypíše první prvek: Jaruš
print(a[-1]) # vypíše poslední prvek: Luboš
print(a[2::]) # vypíše seznam od třetího prvku (indexu 2): od Lenka po Luboš
print(a[::-1]) # vypíše seznam po spátku
print(a[1:4]) # vypíše seznam od indexu 1 do 4 (čtyřku "Lukáš" nevypisuje), od Petra do Patrika
Výstup:
['Jaruš', 'Petra', 'Lenka', 'Patrik', 'Lukáš', 'Marek', 'Jan', 'Luboš'] Jaruš Luboš ['Lenka', 'Patrik', 'Lukáš', 'Marek', 'Jan', 'Luboš'] ['Luboš', 'Jan', 'Marek', 'Lukáš', 'Patrik', 'Lenka', 'Petra', 'Jaruš'] ['Petra', 'Lenka', 'Patrik']
Změna prvku
[editovat]a = ["Jaruš", "Petra", "Lenka", "Patrik", "Lukáš", "Marek", "Jan", "Luboš"]
a[0] = "Mikuláš"
a[1] = 123
print(a)
Výstup:
['Mikuláš', 123, 'Lenka', 'Patrik', 'Lukáš', 'Marek', 'Jan', 'Luboš']
Přidání prvku na konec
[editovat]a = ["Jaruš", "Petra", "Lenka", "Patrik", "Lukáš", "Marek", "Jan", "Luboš"]
a.append("Jakeš")
a.append("Hrubeš")
a.append(666)
print(a)
Výstup:
['Jaruš', 'Petra', 'Lenka', 'Patrik', 'Lukáš', 'Marek', 'Jan', 'Luboš', 'Jakeš', 'Hrubeš', 666]
Odebírání prvku
[editovat]Metoda pop() zachází s listem (seznamem) jako se zásobníkem, odebírá od konce. Chceme-li se k listu chovat jako k frontě a odbírat první prvek, použijeme pop(0).
a = ["Jaruš", "Petra", "Lenka", "Patrik", "Lukáš", "Marek", "Jan", "Luboš"]
print(a) # vypíše celý seznam
a.pop() # odebere poslední prvek "Luboš"
print(a) # vypíše aktuální seznam
a.pop() # odebere dašlí poslední prvek "Jan"
print(a) # vypíše aktulání seznam
Výstup:
['Jaruš', 'Petra', 'Lenka', 'Patrik', 'Lukáš', 'Marek', 'Jan', 'Luboš'] ['Jaruš', 'Petra', 'Lenka', 'Patrik', 'Lukáš', 'Marek', 'Jan'] ['Jaruš', 'Petra', 'Lenka', 'Patrik', 'Lukáš', 'Marek']
a = ["Jaruš", "Petra", "Lenka", "Patrik", "Lukáš", "Marek", "Jan", "Luboš"]
print(a.pop()) # vymaže poslední prvek "Luboš" a vypíše ho
print(a.pop()) # vymaže poslední prvek "Jan" a vypíše ho
print(a.pop()) # vymaže poslední prvek "Marek" a vypíše ho
print(a) # vypíše aktuální seznam
Výstup:
Luboš Jan Marek ['Jaruš', 'Petra', 'Lenka', 'Patrik', 'Lukáš']
Odebírání prvku od začátku:
a = ["Jaruš", "Petra", "Lenka", "Patrik", "Lukáš", "Marek", "Jan", "Luboš"]
print(a.pop(0)) # odebere první prvek "Jaruš" a vypíše ho
print(a.pop(0)) # odebere první prvek "Petra" a vypíše ho
print(a.pop(0)) # odebere první prvek "Lenka" a vypíše ho
print(a) # vypíše aktuální seznam
Výstup:
Jaruš Petra Lenka ['Patrik', 'Lukáš', 'Marek', 'Jan', 'Luboš']
Smazání celého pole
[editovat]a = ["Jaruš", "Petra", "Lenka", "Patrik", "Lukáš", "Marek", "Jan", "Luboš"]
a.clear()
print(a)
Výstup:
[]
Seřazení pole podle abecedy
[editovat]a = ["Jaruš", "Petra", "Lenka", "Patrik", "Lukáš", "Marek", "Jan", "Luboš"]
a.sort() # seřazení podle abecedy (vzestupně)
print(a)
Výstup:
['Jan', 'Jaruš', 'Lenka', 'Luboš', 'Lukáš', 'Marek', 'Patrik', 'Petra']
seřazení reverzně od konce abecedy:
a = ["Jaruš", "Petra", "Lenka", "Patrik", "Lukáš", "Marek", "Jan", "Luboš"]
a.sort(reverse=True) # seřazení od konce abecedy (reverzně, sestupně)
print(a)
Výstup:
['Petra', 'Patrik', 'Marek', 'Lukáš', 'Luboš', 'Lenka', 'Jaruš', 'Jan']
Obrácení seznamu
[editovat]a = ["Banány", "Jahody", 123]
print(a[::-1]) # otočí pořadí prvků
Výstup:
[123, 'Jahody', 'Banány']
nebo:
a = ["Banány", "Jahody", 123]
a.reverse()
print(a)
Výstup:
[123, 'Jahody', 'Banány']
Normální a záporný index
[editovat]a = ['p', 'r', 'o', 'g', 'r', 'a', 'm', 'i', 'z']
# 0 1 2 3 4 5 6 7 8
# -9 -8 -7 -6 -5 -4 -3 -2 -1
print(a[8])
print(a[-1])
print()
print(a[0])
print(a[-9])
Výstup:
z z p p
Délka listu
[editovat]a = ['p', 'r', 'o', 'g', 'r', 'a', 'm', 'i', 'z']
print(len(a))
Výstup:
9
Spojování listů
[editovat]a = [1,2,3]
b = ["Python", "JavaScript"]
print(a + b)
Výstup:
[1, 2, 3, 'Python', 'JavaScript']
a = [1,2,3] + [4,5,6]
print(a)
Výstup:
[1, 2, 3, 4, 5, 6]
Multiplikace položek listu
[editovat]a = [1,2,3,"A"] * 4
print(a)
Výstup:
[1, 2, 3, 'A', 1, 2, 3, 'A', 1, 2, 3, 'A', 1, 2, 3, 'A']
a = ["Po", "Ut", "St", "Čt", "Pa", "So", "Ne"] * 4
b = [1, 2, 3, 4, 5, 6, 7] * 4
c = ["Haf"] * 8
print(a)
print(b)
print(c)
Výstup:
['Po', 'Ut', 'St', 'Čt', 'Pa', 'So', 'Ne', 'Po', 'Ut', 'St', 'Čt', 'Pa', 'So', 'Ne', 'Po', 'Ut', 'St', 'Čt', 'Pa', 'So', 'Ne', 'Po', 'Ut', 'St', 'Čt', 'Pa', 'So', 'Ne'] [1, 2, 3, 4, 5, 6, 7, 1, 2, 3, 4, 5, 6, 7, 1, 2, 3, 4, 5, 6, 7, 1, 2, 3, 4, 5, 6, 7] ['Haf', 'Haf', 'Haf', 'Haf', 'Haf', 'Haf', 'Haf', 'Haf']
Generování řady čísel do listu
[editovat]# generování 10 čísel
# range(1, 10) je řada čísel od 1 do 9
a = [2 ** x for x in range(10)]
b = [x * 2 for x in range(10)]
c = [x + 5 for x in range(10)]
d = [x for x in range(10)] # range(10) je řada čísel od 0 do 10
e = [x for x in range(1, 10)] # range(1, 10) je řada čísel od 1 do 9
f = [x for x in range(1, 10+1)] # range(1, 10+1) je řada čísel od 1 do 10
print("2 ** x :", a)
print("x * 2 :", b)
print("x + 5 :", c)
print("range(10) :", d)
print("range(1, 10) :", e)
print("range(1, 10+1) :", f)
Výstup:
2 ** x : [1, 2, 4, 8, 16, 32, 64, 128, 256, 512] x * 2 : [0, 2, 4, 6, 8, 10, 12, 14, 16, 18] x + 5 : [5, 6, 7, 8, 9, 10, 11, 12, 13, 14] range(10) : [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] range(1, 10) : [1, 2, 3, 4, 5, 6, 7, 8, 9] range(1, 10+1) : [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
a = [x * 2 for x in range(10) if x > 5] # seznam čísel x * 2, ale jen ta, kde x je větší než 5
print(a)
Výstup:
[12, 14, 16, 18]
Porovnání dvou listů
[editovat]# listy jsou schodné jen pokud májí stejné prvky a tyto prvky mají stejné pořadí
a = [1, 2, 3, 4] == [4, 1, 3, 2] # vrátí False, protože záleží na uspořádání
b = [1, 2, 3, 4] == [1, 2, 3, 4] # vrátí True, protože záleží na uspořádání
print(a)
print(b)
Výstup:
False True
Testování existence položky v listu
[editovat]a = "Python" in [1, 2, 3, 4] # vrátí False protože "Python" není v seznamu
b = "Python" in [1, 2, "Python", 3, 4, "ahoj"] # vrátí True protože "Python" je v seznamu
c = "ahoj" in [1, 2, "Python", 3, 4, "ahoj"] # vrátí True protože "ahoj" je v seznamu
d = "Ahoj" in [1, 2, "Python", 3, 4, "ahoj"] # vrátí False protože "Ahoj" není v seznamu
print(a)
print(b)
print(c)
print(d)
Výstup:
False True True False