㈠ python for循环能不能对列表本身进行更改
前面这个迭代list_name,并且每次迭代取name的值到
i这个变量里
后面这个也是类似,只是每次迭代取索引的值到
i这个变量里
用起来没有区别不大的,用前面这个的话是不用到索引的时候用,后面这个是用到索引的时候用,其他的实际用那个看个人喜好了
㈡ Python 在for循环里面成功改变list,退出for循环后list却没变
python里面字符串是不可修改的,所以传值的时候并不是把Image[i]这个对象传给了i,而是传过去的复制值,所以你修改的只是i这个变量不是对应的Image[i]
要么改得复杂点改成这样:
print ''
print Images
print ''
for i in range(len(Images)):
print Images[i]
Images[i] = 'http://www.somesite.com' + Images[i]
print Images[i]
print ''
for i in Images:
print i
if 'http' in i:
print 'True'
else:
print 'False'
㈢ python在一个for循环中能不能用改变的数值来命名不同的变量
>>>foriinrange(10):
exec('a%s=%s'%(i,i))
>>>a1
1
>>>a2
2
>>>a3
3
>>>a4
4
>>>a5
5
㈣ python用for遍历列表时不能修改列表值吗
首先,可以肯定的是,for 循环遍历时可以修改列表值。
那么问题出在哪?在for 循环中的赋值语句magician='the Great' + magician,这个语句并没有改变列表元素,在for magician in magicians中,magician 只是一个得到了列表元素的值的临时变量,修改这个临时变量并不会影响的列表里的值。
原代码相当于:magician =magicians[i], magician ='theGreat'+magician, 很明显,这里没有影响到列表元素,而是只改变了临时变量。
可以使用以下代码:
for i in range(len(magicians)):
magicians[i] = 'the Great' + magicians[i]