Цикл for в Python

программирование python

x = [1, 2, 3]
for y in x:
y = sum(x) / len(x)

По идее все элементы списка должны стать равны 2. Но список остается прежним.

Вопрос: как по другому обратить к текущему элементу списка, чтобы выполнить присвоение.

Или альтернативный вариант решения.

Примечание:
Вполне x изменяемый, это же список:
x.append('izmenyaemiy')
print(x) --[1, 2, 3, 'izmenyaemiy']

Примечание:
Мне и double подойдет, в меньшую сторону лучше не округлять.
Спасибо!
Ответы:
потому что нужно сначала читать как работает цикл for
и у тебя X не изменяемый.
> Или альтернативный вариант решения
for i in range(0, len(x)):
 x[i] = sum(x)//len(x)      # это не ошибка, тут действительно //


10 лет назад

RPI.su - самая большая русскоязычная база вопросов и ответов. Наш проект был реализован как продолжение популярного сервиса otvety.google.ru, который был закрыт и удален 30 апреля 2015 года. Мы решили воскресить полезный сервис Ответы Гугл, чтобы любой человек смог публично узнать ответ на свой вопрос у интернет сообщества.

Все вопросы, добавленные на сайт ответов Google, мы скопировали и сохранили здесь. Имена старых пользователей также отображены в том виде, в котором они существовали ранее. Только нужно заново пройти регистрацию, чтобы иметь возможность задавать вопросы, или отвечать другим.

Чтобы связаться с нами по любому вопросу О САЙТЕ (реклама, сотрудничество, отзыв о сервисе), пишите на почту [email protected]. Только все общие вопросы размещайте на сайте, на них ответ по почте не предоставляется.