@Timebird

Как умножить каждый ДЕВЯТЫЙ элемент списка на 2?

Здравствуйте! Такой вопрос. Как умножить каждый девятый элемент списка на 2?

Пробовал вот так, не выходит. Что-то не пойму, тут какой синтаксис верен?
В массиве samples_null_list записаны числа с плавающей точкой.

step_null_list = []
for i in range(samples_null_list[0], samples_null_list[-1], samples_null_list[8]):
    samples_list[i] *= 2
    step_null_list.append(samples_list[i])
  • Вопрос задан
  • 874 просмотра
Решения вопроса 2
Твой код возможно решает какую-то проблему, но точно не описанную тобой.
См. range(start, stop[, step]):
  • start -- первое значение интервала
  • stop -- последнее значение интервала
  • step -- шаг
for i in range(..) означает для каждого i в интервале от start до stop с шагом step. Ты передаёшь как start, stop и step значения массива samples_null_list, соответственно поведение цикла зависит от значений этого массива (а именно первого, последнего и девятого элемента).
Ответ написан
Комментировать
@Nc_Soft
условие такое
index % 9 === 0
Ответ написан
Пригласить эксперта
Ответы на вопрос 4
ZeroDX
@ZeroDX
Бездельник
res = [2 * x for x in mylist[::9]]
или так
res = []
for i in range(0, len(mylist), 9):
    res.append(mylist[i]*2)

или так
res = [mylist[i] * 2 for i in range(0, len(mylist), 9)]
Ответ написан
Комментировать
@Radist_101
new_list = []
for i, x in enumerate(my_list):
    if (i+1) % 9 == 0:
        x *= 2
    new_list.append(x)
Ответ написан
Комментировать
@vilgeforce
Раздолбай и программист
Используйте доступ по индексам. И будет for i in tange(длина_списка)...
Ответ написан
Комментировать
@abcd0x00
>>> lst = [1, 2, 3, 4, 5] * 10
>>> 
>>> out = [n * 2 if i % 9 == 0 else n
...        for i, n in enumerate(lst, 1)]
>>> out
[1, 2, 3, 4, 5, 1, 2, 3, 8, 5, 1, 2, 3, 4, 5, 1, 2, 6, 4, 5, 1, 2, 3, 4, 5, 1, 4, 3, 4, 5, 1, 2, 3, 4, 5, 2, 2, 3, 4, 5, 1, 2, 3, 4, 10, 1, 2, 3, 4, 5]
>>>
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы