a=[1,2,3,4,5]
for i in range(len(a)):
if a[i] == 2:
break
i并没有被真正删除。要删除i,可以使用del关键字:
a=[1,2,3,4,5]
for i in range(len(a)):
if a[i] == 2:
break
del i #deleted here
print i # now this will give you error!
如果要替换,只需重新定义:
a=[1,2,3,4,5]
for i in range(len(a)):
if a[i] == 2:
break
i = [] #now this is a list, not an integer anymore
print i # now this will give you different result: []
类似地,例如,如果在if块中创建列表:
if i == 0: #suppose you really enter this block
a = [] #a is created here
a.append(b) #but a can be used here, assuming the previous if is really entered
您可以这样做,这样做也很好,因为在本例中,
i
的值只在执行内部循环之前递增。这会使这段代码更难阅读,但它会完成工作。变量i
是在与for循环相同的范围内创建的。如果您给出的示例代码是整个文件,那么当文件存在时i
将超出范围。如果您给出的代码示例在函数中,i
将在函数中创建,然后在函数返回/退出时超出范围。你知道吗另一种方法是在Python中使用循环的
for... in
构造和zip
方法,并保留一个变量:最后,您将设置一个名为
index
的新变量,而不依赖循环变量。你知道吗是的,在那里读很好。这是因为当你在内部创建一个
for
循环时,它有一个机制来为你创建indexer
(在你的例子中是i
),然后通过每次给它分配新的值来逐个增加它。因此,可以在for
循环之后使用i
。因此,在:i
并没有被真正删除。要删除i
,可以使用del
关键字:如果要替换,只需重新定义:
类似地,例如,如果在if块中创建列表:
这就是Python的工作原理。你知道吗
部分相关岗位:
相关问题 更多 >
编程相关推荐