In [1]:
import numpy as np
import random as rd
import copy

Programski jezik Python, v kolikor sami ne določimo za kakšno vrsto spremenljivke gre, le to določi sam. Tip določene spremenljivke lahko preverimo z ukazom type(x), kot je to prikazano v spodnji celici.

In [2]:
stavek=2
print("--------------------------------------------------")
print("1) V tem primeru je sprementljivka tipa",type(stavek))
stavek="2"
print("2) V tem primeru je sprementljivka tipa",type(stavek))
stavek=float(2)
print("3) V tem primeru je sprementljivka tipa",type(stavek))
stavek=2.0
print("4) V tem primeru je sprementljivka tipa",type(stavek))
stavek=True
print("5) V tem primeru je sprementljivka tipa",type(stavek))
stavek="Danes je ponedeljek. Za pust sem se imel lepo. Pojedel sem kat nekaj krofov."
print("6) V tem primeru je sprementljivka tipa",type(stavek))
print("--------------------------------------------------")
--------------------------------------------------
1) V tem primeru je sprementljivka tipa <class 'int'>
2) V tem primeru je sprementljivka tipa <class 'str'>
3) V tem primeru je sprementljivka tipa <class 'float'>
4) V tem primeru je sprementljivka tipa <class 'float'>
5) V tem primeru je sprementljivka tipa <class 'bool'>
6) V tem primeru je sprementljivka tipa <class 'str'>
--------------------------------------------------

V primeru 6 se je besedilo shranilo v spremenljivko kot tip string(str). Ta spremenljivka je sestavljena iz niza simbolov, do katerih lahko dostopamo glede na nihovo zaporedno mesto pojavaljanja. ["D a n e s " " j e ...] ["0 1 2 3 4 5 6 7 ...]

In [3]:
print("Simbol, ki je na lokaciji 0 je enak -> ",stavek[0])
Simbol, ki je na lokaciji 0 je enak ->  D

Naslednji tip objekta, ki ga lahko uporabimo za shranjevanje podatkov je t.i. dictionary (dict). To vrsto spremenljivke iniciiramo z x={}. Dict so indeksirani s ključi (key). Ključ je lahko vsaka številka ali beseda. Kot primer določimo pogostop določene črke v zapisu, ki je shranjen v spremenljivki.

In [4]:
P={} #dictionary

for i in stavek: #spremenljivka i iterativno zauzema vrednosti, ki jih vsebuje "spremenljivka"
    if i in P:   #V kolikor je črka (i) že pristona v P, vrednost P[i] povečamo za 1
        P[i]+=1
    else:        #V kolikor pa črka (i) ne obstaja, kot ključ v dict P, pa jo ustvarimo, in vrednost P(i) postavimo na 1
        P[i]=1
In [5]:
#Sedaj lahko izpišemo ključe in pripadajoče vrednosti v dict P
for i in P:
    print(i,P[i])
D 1
a 4
n 3
e 13
s 5
  13
j 4
p 3
o 5
d 2
l 4
k 4
. 3
Z 1
u 1
t 2
m 3
i 1
P 1
r 1
f 1
v 1
In [6]:
#Če želimo prikazati urejen seznam pa
for E in sorted(P, key=P.get, reverse=True):
    print(E,P[E])
e 13
  13
s 5
o 5
a 4
j 4
l 4
k 4
n 3
p 3
. 3
m 3
d 2
t 2
D 1
Z 1
u 1
i 1
P 1
r 1
f 1
v 1

V naslednjem primeru prikažemo, kako lahko ustvarimo polje poljubne velikost-

In [7]:
N=10 #NxN array
Matrika=np.zeros([N,N],int) #ustvarimo array, kjer so vse celice enake 0
Matrika=np.ones([N,N],int) #ustvarimo array, kjer so vse celice enake 1
Matrika=np.ones([N,N],int)*7 #ustvarimo array, kjer so vse celice enake 7
#Do ij-tega elementa matrike dostopamo kot Matrika[i][j]
Matrika[5][5]=100
print(Matrika)
print()
print("i=0,j=0,Matrika[i][j]=",Matrika[0][0])
print("i=5,j=5,Matrika[i][j]=",Matrika[5][5])
[[  7   7   7   7   7   7   7   7   7   7]
 [  7   7   7   7   7   7   7   7   7   7]
 [  7   7   7   7   7   7   7   7   7   7]
 [  7   7   7   7   7   7   7   7   7   7]
 [  7   7   7   7   7   7   7   7   7   7]
 [  7   7   7   7   7 100   7   7   7   7]
 [  7   7   7   7   7   7   7   7   7   7]
 [  7   7   7   7   7   7   7   7   7   7]
 [  7   7   7   7   7   7   7   7   7   7]
 [  7   7   7   7   7   7   7   7   7   7]]

i=0,j=0,Matrika[i][j]= 7
i=5,j=5,Matrika[i][j]= 100
In [8]:
#seznam
seznam=[]#Ustvarimo prazen seznam
dolzina=rd.randint(2,5) #Generiramo naključno naravno število v intervalu [2,5]

for i in range(0,dolzina,1):
    temp=[]#Ustvarimo prazen seznam
    stolpci=rd.randint(2,5) #Generiramo naključno naravno število v intervalu [2,5]
    for j in range(stolpci):
        temp.append(rd.randint(2,5)) #V seznam temp dodatmo naključno število
    seznam.append(temp) #seznam temp, dodatmo v seznam

print(seznam) #izpis celotnega seznama
print(seznam[0][1]) #izpis prvega zapisa v seznamu
[[2, 5, 2], [4, 3, 5], [4, 4, 2, 3], [4, 2, 4, 3, 5]]
5

Kadara želimo shraniti seznam v neko drugo spremenljivko, se moramo zavedati, da definicija A=B izzove, da je A zmeraj enak B. Če torej Spremenimo eno celico v seznamu B, s tem spremenimo tudi isto celico v seznamu A.

In [9]:
kopija=seznam #seznam shranim v novo spremenljivko kopija
print(seznam[0][0],kopija[0][0]) #Izpišemo prvo vrdnost v originalnem in kopiranem seznamu
seznam[0][0]=":)" #Spremenimo le prvo vrednost v ORIGINALNEM seznamu
print(seznam[0][0],kopija[0][0])#Izpišemo prvo vrdnost v originalnem in kopiranem seznamu
2 2
:) :)

Da se izognetmu temu uporabimo funkcijo knjižico copy.

In [10]:
kopija=copy.deepcopy(seznam)
print(seznam[0][1],kopija[0][1]) #Izpišemo prvo vrdnost v originalnem in kopiranem seznamu
seznam[0][1]=3333
print(seznam[0][1],kopija[0][1]) #Izpišemo prvo vrdnost v originalnem in kopiranem seznamu
5 5
3333 5
In [ ]: