-
Notifications
You must be signed in to change notification settings - Fork 0
/
drugo.qmd
executable file
·72 lines (49 loc) · 2.37 KB
/
drugo.qmd
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
# Drugo
## Nabori
Nabori so urejeni in nespremenljivi. Definira se jih z običajnimi oklepaji `()`. Do elementov dostopamo z indeksi od 0 naprej, kot pri seznamih. Naboru ne moremo dodati novih elementov, ko je enkrat ustvarjen. Glej tudi: <https://docs.python.org/3/tutorial/datastructures.html#tuples-and-sequences>
Vrednosti v naborih lahko "odpakiramo" (*ang.* unpacking) nazaj v spremenljivke.
```{python eval=FALSE}
sadje = ("jabolko", "banana", "češnja")
zeleno, rumeno, rdece = sadje
print(zeleno)
print(rumeno)
print(rdece)
```
Nabor lahko odpakiramo v manj spremenljivk, kot je elementov nabora, če eni od spremenljivk pred ime dodamo `*`. V to spremenljivko se bo shranil seznam presežnih elementov. Glej npr. <https://www.w3schools.com/python/python_tuples_unpack.asp>
## Množice
Množice niso urejene in so nespremenljive. Definira se jih z zavitimi oklepaji. Prazno množico lahko dobimo tako, da pokličemo funkcijo `set()`. Vrednosti v množici so unikatne (ne moremo dodati dveh enakih). Do elementov lahko dostopamo z zanko. Nove elemente lahko dodamo z `mnozica.add(element)`. Glej tudi: <https://docs.python.org/3/tutorial/datastructures.html#sets>
## *Rekurzija
Dober članek o uporabi rekurzije za izračun Fibbonaccijevega zaporedja v Pythonu. Poglavje *Using Recursion and a Python Class* lahko preskočite. <https://realpython.com/fibonacci-sequence-python/>
## *Uvažanje modulov
Delo z moduli lepo opisuje [dokumentacija](https://docs.python.org/3/tutorial/modules.html) (predvsem prva polovica strani).
## *Merjenje časa izvajanja programa
Glej <https://docs.python.org/3/library/timeit.html>
## *Izpeljani seznami/slovarji/množice
Če želimo ustvariti seznam s kvadrati celih števil, lahko to naredimo z zanko:
```{python}
kvadrati = []
for i in range(10):
kvadrati.append(i * i)
print(kvadrati)
```
Na kratko lahko tak seznam ustvarimo z izpeljanim seznamom:
```{python}
kvadrati2 = [i * i for i in range(10)]
print(kvadrati2)
```
Dodamo lahko tudi pogoj:
```{python}
poved = 'the rocket came back from mars'
samoglasniki_poved = [i for i in poved if i in 'aeiou']
print(samoglasniki_poved)
```
Podoben pristop lahko uporabimo tudi za slovarje in množice.
```{python}
kvadrati3 = {i: i * i for i in range(10)}
print(kvadrati3)
```
```{python}
poved = "life, uh, finds a way"
samoglasniki_poved = {i for i in poved if i in 'aeiou'}
print(samoglasniki_poved)
```