Python: элементы списка не изменены в цикле for

Я был шокирован, когда следующий код не сделал того, чего я ожидал:

lines_list = ['this is line 1\n', 'this is line 2\n', 'this is line 3\n']
for line in lines_list:
    line = line.strip()

Я, конечно, ожидал, что каждый элемент в списке станет"stripped"в этом случае быть свободным от конечного'\n' Чар, но это не так ...

print lines_list

Выход:

['this is line 1\n', 'this is line 2\n', 'this is line 3\n']

Итак, как вы можете догадаться, мой вопрос заключается в том, есть ли элегантный способ изменить элементы списка во времяfor цикл? Я не хочу дублировать список ...

РЕДАКТИРОВАТЬ:

Я хотел бы упомянуть, что, кстати, вPerl или вДжава, мое использование работает хорошо. Python - это уникальное поведение

В Java это будет работать:

String[] lines = {"this is line 1\n", "this is line 2\n", "this is line 3\n"};
for (String line : lines) {
    line = line.trim();
}

В Perl это будет работать:

my @lines = ("this is line 1\n", "this is line 2\n", "this is line 3\n");
foreach my $line (@lines) {
    $line =~ s/\s+$//;
    $line =~ s/^\s+//;
}