Дан список целых чисел. Заменить отрицательные на -1, положительные — на число 1, ноль оставить без изменений.
1-й вариант — заполнение нового списка в зависимости от значений исходного:
listOrigin = [10, -15, 3, 8, 0, 9, -6, 13, -1, 5]
listMask = []
for item in listOrigin:
if item > 0:
listMask.append(1)
elif item < 0:
listMask.append(-1)
else:
listMask.append(0)
print(listOrigin)
print(listMask)
С комментариями:
# исходный список
listOrigin = [10, -15, 3, 8, 0, 9, -6, 13, -1, 5]
# список-маска
listMask = []
# перебор элементов исходного списка
for item in listOrigin:
if item > 0: # Если элемент больше 0,
listMask.append(1) # в список добавляется 1.
elif item < 0: # Если элемент меньше 0,
listMask.append(-1) # в список добавляется -1.
else: # Если элемент равен 0,
listMask.append(0) # в список добавляется 0.
# вывод исходного и производного списков
print(listOrigin)
print(listMask)
2-й вариант — замена элементов непосредственно в исходном списке:
listOne = [10, -15, 3, 8, 0, 9, -6, 13, -1, 5]
print(listOne)
for i in range(len(listOne)):
if listOne[i] > 0:
listOne[i] = 1
elif listOne[i] < 0:
listOne[i] = -1
print(listOne)
С комментариями:
listOne = [10, -15, 3, 8, 0, 9, -6, 13, -1, 5]
print(listOne) # вывод списка в исходном виде
# Значение i меняется в диапазоне от 0 до
# индекса последнего элемента списка, который
# равен длине списка за минусом 1.
for i in range(len(listOne)):
if listOne[i] > 0: # Если элемент с индексом i больше 0,
listOne[i] = 1 # то он заменяется на 1.
elif listOne[i] < 0: # Если элемент с индексом i меньше 0,
listOne[i] = -1 # то заменяется на -1.
# Во всех остальных случаях (элемент равен 0) элемент
# останется как есть.
print(listOne) # вывод измененного списка
Результат выполнения скриптов:
[10, -15, 3, 8, 0, 9, -6, 13, -1, 5]
[1, -1, 1, 1, 0, 1, -1, 1, -1, 1]