Python: os itens da lista não são alterados no loop for

Fiquei chocado quando o código a seguir não fez o que eu esperava:

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()

Obviamente, eu esperava que cada item da lista se tornasse"stripped", ou seja, neste caso, estar livre da trilha'\n' char, mas não ...

print lines_list

A saída:

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

Então, como você pode imaginar, minha pergunta é se existe uma maneira elegante de alterar os itens da lista durante ofor ciclo? Não quero duplicar a lista ...

EDITAR:

Eu queria mencionar que, a propósito, emPerl ou emJava, meu uso funciona bem. Python é aquele com o comportamento único

Em Java, isso funcionará:

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

No Perl, isso funcionará:

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+//;
}

questionAnswers(3)

yourAnswerToTheQuestion