Помогите понять разницу

Timur

Новичок
Пользователь
Май 27, 2022
3
0
1
Добрый день, помогите, пожалуйста, понять разницу.
Задача: необходимо добавить ноль перед числом в элементе списка.
Решение:
1)
list1 = [‘когда’, ‘будет’, ‘5’, ‘дней’]
for i in range(len(list1)):
if list1.isdigit():
list1 = list1.zfill(2)
print(list1)
В этом случае он выводит 05.
2)
list1 = [‘когда’, ‘будет’, ‘5’, ‘дней’]
for c in list1:
if c.isdigit():
c = c.zfill(2)
print(list1)
Здесь он просто выводит 5, ничего не добавляя.
Я ещё мало что знаю, подскажите, почему так происходит, в чем разница между 1 и 2?
Заранее спасибо.
 

Vershitel_sudeb

Vershitel sudeb
Команда форума
Модератор
Мар 17, 2021
933
208
43
20
Москва
Python:
list1 = [‘когда’, ‘будет’, ‘5’, ‘дней’]
# В переменную k ты по очереди записываешь элементы списка
for k in list1:
    # Ты записал очередной элемент и он оказался числом
    if k.isdigit():
        # Ты берешь, и меняешь эту переменную - дописываешь 0 в начале
        # Но ты меняешь не список а саму переменную k, которая вскоре будет перезаписана
        k = k.zfill(2)
print(list1)

P.S. как вставлять код
1647162378032-png.1702
 

Timur

Новичок
Пользователь
Май 27, 2022
3
0
1
Все, понял, спасибо большое ☺️
 

Форум IT Специалистов