我在python中修改列表时注意到了一点:
my_list = ['a','b','c','d','e']
例1
for letter in my_list:
if letter == 'c':
letter = 'x'
例2
for i in range(len(my_list)):
if my_list[i] == 'c':
my_list[i] = 'x'
结果1
my_list = ['a','b','c','d','e']
结果2
my_list = ['a','b','x','d','e']
所以我的问题是“letter”不是直接引用“myu list”中的元素吗? 这两个环路有什么区别?你知道吗
在示例1中,letter是一个简单的变量,依次取每个列表元素的值。更改它根本不会影响列表。我想在例2中,“letter”应该替换为“list[I]”。在这种情况下,将修改列表。你知道吗
我会这样写:
假设它的
my_list[i]
而不是示例2中的letter
在示例1中,执行
for letter in my_list
操作时,python遍历列表并将值存储在变量letter
中。因此,它就像说letter = my_list[i]
。现在您可以比较letter
,但是更改letter
不会更新myu列表中的值,因为letter
只是列表元素的副本。你知道吗相关问题 更多 >
编程相关推荐