in
= [1,2,3,4]
lst
1 in lst # True
8 in lst # False
= """Wirth's law:
adage Software gets slower more quickly
than hardware gets faster."""
"h" in adage # True
"Wirth" in adage # True
"Bill" in adage # False
Poznámka: Toto nie je to isté in
ako v syntaxe pre for
-cyklus.
for
-> whilewhile true_or_false:
do_something
Kým je podmienka splnená (True
) tak vykonávaj nasledujúce príkazy.
Napr.:
= 3
i while i > 0:
print(i)
-= 1 i
má rovnaký efekt ako:
for i in range(3, 0, -1):
print(i)
while True:
print("HELP!")
Ctrl + C
je váš kamarát :-)
break
= 3
i while True:
print(i)
-= 1
i if i == 0:
break
break
funguje rovnako aj s for
.Všetky built-in funkcie v Pythone
min
, max
= [3217, 12, 1]
lst min(lst) # 1
max(lst) # 3217
all
, any
= []
is_even for i in [2, 4, 6, 8, 15]:
% 2 == 0)
is_even.append(i
print(all(is_even)) # False; 15 % 2 -> 1
print(any(is_even)) # True
list
- konverzia z iných iterovateľných= "A B C"
text = list(text) # ['A', ' ', 'B', ' ', 'C'] characters
= range(0, 4)
r = list(r) # [1, 2, 3] lst
reversed
= [1, 2, 3]
lst
for i in reversed(lst):
print(i)
Funguje aj str
a tuple
:
= "racecar"
s == "".join(reversed(s)) s
reversed
reversed
nevráti zoznam, ale môžete zoznam vytvoriť:= [1, 2, 3]
lst type(reversed(lst)) # list_reverseiterator
= list(reversed(lst)) rev_lst
reverseiterator
môžete prechádzať len 1-krát!= [1,2,3]
a = reversed(a)
rev_a for i in rev_a:
print(i) # 3 2 1
for i in rev_a:
print(i) # ... nič sa nevypíše
sorted
= [2, 3, 1]
lst = sorted(lst) # [1, 2, 3]
ascending = sorted(lst, reverse=True) # [3, 2, 1] descending
sorted
vs list.sort
Zoznamy majú navyše aj metódu sort
:
= [2, 1, 3]
a #
a.sort() print(a)
Nový zoznam sa nevytvorí! Operácia je in-place -> zoznam sa zmení, vráti sa None
In-place operácie môžu byť rýchlejšie.
Tiež, pokiaľ máte zoznam, ktorý je veľmi dlhý (napr. 80 % vašej RAM), tak ho fakt nechcete duplikovať.
Analogicky, existuje metóda list.reverse
.
sorted(list, key=fun)
= [
data 'Adam', 1000],
['Bill', 10**6],
['Bob', 4.5]
[
]
def get_salary(pair):
return pair[1]
sorted(salaries, key=get_salary)
sorted(list, key=fun)
list
dokáže?append
pop
extend
count
remove
clear
insert
index
copy
3 * [1, 2] # -> [1, 2, 1, 2, 1, 2]
1, 2] + [3, 4] # -> [1, 2, 3, 4] [
str
?Zoznam metód z dokumentácie Pythonu.
Moje obľúbené:
replace
format
strip
, lstrip
, rstrip
split
a splitlines
join
find
3 * "A" + " " + "HELP!" # -> "AAA HELP!"