• API
• FAQ
• Tools
• Archive
SHARE
TWEET

# Untitled

a guest Jan 22nd, 2020 57 Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
1. #reverse sa strukturom
2. def reverse(item, li=[]):
3.     if not isinstance(item, list):
4.         return li
5.
6.     item.reverse()
7.     li = item
8.
9.     for i in item:
10.         reverse(i, li)
11.
12.     return li
13.
14. l = ['a', [['b']], 'c']
15. print(reverse(l))
16.
17.
18. #sort, ali bez zadrzavanja strukture
19. def flatten(xs):
20.     res = []
21.     def loop(ys):
22.         for i in ys:
23.             if isinstance(i, list):
24.                 loop(i)
25.             else:
26.                 res.append(i)
27.     loop(xs)
28.     return res
29.
30. l = ['ivan', ['petar', ['ana']], 'marko']
31. print(sorted(flatten(l)))
32.
33.
34.
35. #provjera strukture
36. def provjeri_sturkturu(lista_1, lista_2):
37.     if not isinstance(lista_1, list) and not isinstance(lista_2, list):
38.         return True
39.
40.     if type(lista_1) != type(lista_2) or len(lista_1) != len(lista_2):
41.         return False
42.
43.     for i, j in zip(lista_1, lista_2):
44.         if isinstance(i, list) and type(i) != type(j):
45.             return False
46.         else:
47.             provjera = provjeri_sturkturu(i, j)
48.             if provjera is False:
49.                 return False
50.
51.     return True
52.
53.
54. print(provjeri_sturkturu(['a', 2, [[3]]], [1, [[2]], 3]))
55.
56.
57.
58. #broji podliste koje imaju 2 integer da je prvi < drugog
59. def funk(lista):
60.     count = 0
61.     if (isinstance(lista, list) == False):
62.         return 0
63.     if (len(lista) == 2):
64.         if (isinstance(lista[0], int) and isinstance(lista[1], int) and lista[0] < lista[1]):
65.             count = count + 1
66.     for i in range(0, len(lista)):
67.         if (isinstance(lista[i], list)):
68.             count = count + funk(lista[i])
69.     return count
70.
71.
72. a = [[2, 3], ['a', [4, 8], 'z'], 'z']
73. count = 0
74. for i in range(0, len(a)):
75.     count = count + funk(a[i])
76. print(count)
77.
78.
79.
80. #sve kombinacije
81. def slijedi2(niz, osoba_1, osoba_2):
82.     if (osoba_1, osoba_2) in niz:
83.         return osoba_1, osoba_2
84.
85.     for veze_0, veze_1 in niz:
86.         if osoba_1 == veze_0:
87.             rjesenje = slijedi2(niz, veze_1, osoba_2)
88.             if rjesenje:
89.                 print [(veze_0, veze_1), rjesenje]
90.             else:
91.                 continue
92.
93.     return False
94.
95.
96. podaci4 = [('zoran', 'ana'), ('ivo', 'mara'), ('pero', 'ana'), ('ivo', 'sanja'), ('mara', 'sara'), ('ana', 'marko'),
97.            ('sara', 'zoran'), ('sara', 'pero'), ('sara', 'marko')]
98.
99. print(slijedi2(podaci4, 'sara', 'sanja'))
100.
101.
102.
103. #operacije
104. brojac = 0
105.
106.
107. def funk(znak, lista):
108.     global brojac
109.     broj = funk2(lista[0])
110.     for i in range(1, len(lista)):
111.         if znak == '+':
112.             broj = broj + funk2(lista[i])
113.         elif znak == '-':
114.             broj = broj - funk2(lista[i])
115.         elif znak == '*':
116.             broj = broj * funk2(lista[i])
117.         elif znak == '/':
118.             broj = broj / funk2(lista[i])
119.     if broj < 0:
120.         print(broj)
121.         brojac += 1
122.     return broj
123.
124.
125. def funk2(lista, p=[]):
126.     if isinstance(lista, int):
127.         return lista
128.     else:
129.         for e in lista:
130.             if isinstance(e, list):
131.                 return funk2(e, p)
132.             elif e in ('+', '-', '*', '/'):
133.                 return funk(e, lista[1:])
134.         return p
135.
136.
137. podaci = [['*', 906, 468, ['*', ['+', 167, 319]]]]
138. k2(podaci)
139. print(brojac)
RAW Paste Data
We use cookies for various purposes including analytics. By continuing to use Pastebin, you agree to our use of cookies as described in the Cookies Policy.
Top