» »

Java to Python

Java to Python

Karlos ::

Začel sem se malo učiti python, pa bi nekoga prosil če mi lahko tole prevede v python kodo

int tabela[][] = new int[][];
for(int i=0; i<7; i++)
  for(int j = 0; j<7; j++)
    tabela[i][j] = 2;
Sai Baba: "Dam vam to, kar hočete, da boste hoteli to, kar vam želim dati."

Quikee ::

tabela = [[2 for j in range(7)] for i in range(7)]

oz. tabela = [[2]*7]*7

Zgodovina sprememb…

  • spremenil: Quikee ()

Karlos ::


tabela = [[2]*7]*7
tabela = [[2 for j in range(7)] for i in range(7)]


Nekako se mi zdi da zgornja primera nista čisto identična, zato ker potem bi morala tale koda vrniti dva enaka rezultata.


tabela = [[1]*7]*7
tabela1 = [[1 for j in range(7)] for i in range(7)]

for i in range(2):
    for j in range(2):
        tabela[i][j]=2
        tabela1[i][j]=2
        
for i in range(5,7):
    for j in range(5,7):
        tabela[i][j]=2
        tabela1[i][j]=2

for i in range(2):
    for j in range(5,7):
        tabela[i][j]=2
        tabela1[i][j]=2
        
for i in range(5,7):
    for j in range(2):
        tabela[i][j]=2
        tabela1[i][j]=2
        
for i in range(7):
    for j in range(7):
        print tabela[i][j],
    print ''
    
print '\n'
for i in range(7):
    for j in range(7):
        print tabela1[i][j],
    print ''


Output:
2 2 1 1 1 2 2
2 2 1 1 1 2 2
2 2 1 1 1 2 2
2 2 1 1 1 2 2
2 2 1 1 1 2 2
2 2 1 1 1 2 2
2 2 1 1 1 2 2


2 2 1 1 1 2 2
2 2 1 1 1 2 2
1 1 1 1 1 1 1
1 1 1 1 1 1 1
1 1 1 1 1 1 1
2 2 1 1 1 2 2
2 2 1 1 1 2 2
Sai Baba: "Dam vam to, kar hočete, da boste hoteli to, kar vam želim dati."

Zgodovina sprememb…

  • spremenil: Karlos ()

Quikee ::

Ne nista čisto identična, ker se v primeru [[1]*7]*7 sicer nardiš listo [1,1,1,1,1,1] ampak potem narediš z drugim ukazom "*7" novo listo z 7 referencami na to listo.

Sicer pa če rabiš zahtevnejše operacije nad array-i si nabavi numpy (Numberic Python) knjižnico. Ta vsebuje multiarray, kateri je dosti hitrejši od privzetega "list" tipa in lahko delaš operacije kot je recimo:

tabela[0:2, 0:2] = 2

ki je ekvivalent

for i in range(2):
for j in range(2):
tabela[i][j]=2

Zgodovina sprememb…

  • spremenil: Quikee ()

Karlos ::

No da naredim dvodimenzionalno tabelo v katero bi rad vpisal
2 2 1 1 1 2 2
2 2 1 1 1 2 2
1 1 1 1 1 1 1
1 1 1 1 1 1 1
1 1 1 1 1 1 1
2 2 1 1 1 2 2
2 2 1 1 1 2 2

se mi glih ne zdi zahtevnejse delo, ali pac.
Sai Baba: "Dam vam to, kar hočete, da boste hoteli to, kar vam želim dati."

Quikee ::

ne =) .. samo je vseeno dobro vedet, da obstaja, če boš kdaj v prihodnosti rabil.


Vredno ogleda ...

TemaSporočilaOglediZadnje sporočilo
TemaSporočilaOglediZadnje sporočilo
»

Pošljite nam vašo najboljšo kodo

Oddelek: Programiranje
122072 (1317) AndrejO
»

Kako bi naredil program

Oddelek: Programiranje
221671 (939) Spura
»

[Python] Tutoriali za začetnika v Notepad++ (strani: 1 2 )

Oddelek: Programiranje
7915278 (12372) black ice
»

[Python] Pomoč pri računanju Pi-ja

Oddelek: Programiranje
202311 (1943) Spura
»

problem z linuxom (rabim cimprej prosim)

Oddelek: Operacijski sistemi
111384 (1200) Isotropic

Več podobnih tem