' for'中列表中的字符串分配环

时间:2014-11-04 11:34:09

标签: python string list loops for-loop

我有一个列表['1', '2', '3', '4'] 我想将其转换为以下内容:['1.0', '2.0', '3.0', '4.0']。 在下面的代码中,为什么第二次尝试工作而不是第一次?

>>> list = ['1', '2', '3', '4']
>>> for element in list:
...     element = element + '.0'
...
>>> print(list)
['1', '2', '3', '4']
>>> for element in range(len(list)):
...     list[element] = list[element] + '.0'
...
>>> print(list)
['1.0', '2.0', '3.0', '4.0']

3 个答案:

答案 0 :(得分:2)

element是局部变量,仅分配给列表的当前元素。

在第二种情况下,list[element]被分配到列表,其中element指向当前列表索引。

答案 1 :(得分:0)

您没有更新列表。您只需更新元素变量。

答案 2 :(得分:0)

new_list = [x + '.0' for x in old_list]