разбейте его в части. Прямо сейчас вы фактически проверяете число, равное 4, и увеличиваете его на 10, что отлично.
Вы сейчас не хватает двух ключевых компонентов:
- Создание нового списка и добавления к нему
- An
else
условие для всех остальных элементов, которые вы хотите.
Так, для первой части, начните с создания нового списка:
new_list = []
Итак, мы имеем:
a = [4,4,6,4,10]
new_list = []
Затем вы хотите append
в новый список:
for i in a:
if i == 4:
i = i + 10
new_list.append(i)
Однако, теперь вам необходимо разместить е значения, которые вы не хотите, чтобы увеличить, это где вам нужно else
условие:
Так что, если она не равна 4
, просто добавьте значение как в новый список:
for i in a:
if i == 4:
i = i + 10
new_list.append(i)
else:
new_list.append(i)
Это в значительной степени исправляет проблемы, возникшие в вашем коде.
Теперь одна небольшая корректировка, чтобы сделать, что эту линию:
i = i + 10
Может быть переписано как: i += 10
Итак, в конце концов, мы имеем:
a = [4,4,6,4,10]
new_list = []
for i in a:
if i == 4:
i += 10
new_list.append(i)
else:
new_list.append(i)
Наконец, все это можно укоротить в одну строку следующим образом:
new_list = [i + 10 if i == 4 else i for i in a]
@BobH. не отправляйте спама людям, которые обращаются за помощью к другому вопросу. Если они заинтересованы в тегах, они увидят их на своем канале и прочтут. Если нет, они не будут. Спам не работает. Кроме того, здесь считается хорошей практикой [принять ответ] (http://meta.stackexchange.com/questions/5234), если ответ [обратился к вашей проблеме] (http://stackoverflow.com/help/someone-answers). Нажмите на галочку/галочку слева от ответа, повернув ее зеленым. – MattDMo