x[mark].append(n[i])
список не копируется в список x, а создается ссылка на объект. В итоге любое изменение этого объекта меняет его везде. print(id(n[0]))
и списка в x print(id(x[mark]))
, то id у них будут одинаковые, а значит изменение одного повлечет за собой изменение другого. Если нужно скопировать полностью список, создав новый объект, то используют deepcopyimport copy
a = [12,[1,2]]
b = copy.deepcopy(a)
with open('1.txt', 'r') as f:
raw_lines = f.readlines()
print(raw_lines)
for line in raw_lines:
count_a, count_result = 0, 0
if line.count('A') < 25:
for symbol in line:
if symbol == 'A':
count_a += 1
else:
if count_result < count_a:
count_result = count_a
count_a = 0
if count_result == 0 and count_a > 0:
count_result = count_a
print(f'Max distance between A in line -- {count_result}')
def flatten(x):
if isinstance(x, list):
for q in x:
yield from flatten(q)
else:
yield x
>>> list(flatten([1,2,3, [1,2, [3, [[[[4]]]]]]]))
[1, 2, 3, 1, 2, 3, 4]