2015-02-10 3 views

ответ

2

Для каждой итерации вы печатаете исходный список, не изменяя его.

Использование map()

list(map(str, l)) 
>> ['1', '2', '3'] 

или список постижение

l = [str(x) for x in l] 
+0

Вам нужен 'list (map ..)' for python3 –

+0

Конечно, я пропустил тег python3, спасибо! –

+0

Ницца, спасибо! –

0

Когда вы x = str(x) он изменяет значение в x к str (а не элемент в списке l)

Но когда вы пытаетесь изменить список l

Я предлагаю вам попробовать список понимание:

l = [str(x) for x in l]

0

Вам нужно хранить обратно отлиты х назад к списку, как показано ниже:

l = [1,2,3] 
new_l = [] 
for x in l: 
    new_l.append(str(x)) 
    print(new_l) 
0

Кроме того, если вы не (см. другие ответы), вы можете использовать:

for i,x in enumerate(l): 
    l[i] = str(x) 

Но другие ответы только лучше.

Смежные вопросы