def unique(old_els):
els = []
for el in old_els:
if el not in els:
els.append(el)
return els
l = ['abc', 'apple', 'pen', 'abc', 'pen', 'pc']
indexes = {el: i for i, el in enumerate(unique(l))}
result = [indexes[k] for k in l]
print(indexes, result)
result = sum(i for i in range(1000) if (i % 2 and not i % 3) and i % 4)
(not i % 4 == 0) == i % 4 - нагромождение лишнего в питоне в данном случае будет истинной любой результат отличный от нуля, нет смысла ноль с нулем сравнивать и отрицание делать
from dataclasses import dataclass
a_list = [1, 2]
@dataclass
class T:
new_list: list = None
def append(self):
self.new_list.append(4)
return self.new_list
def inc(self):
for i, v in enumerate(self.new_list):
if isinstance(v, int):
self.new_list[i] += 1
return self.new_list
t = T(a_list)
print(t.append(), a_list)
print(t.inc(), a_list)
[1, 2, 4] [1, 2, 4]
[2, 3, 5] [2, 3, 5]
a = []
def append():
a.append(1)