nums = [4,3,2,1]
if len(nums) == 0:
nums = [4,3,2,1]
我也尝试了这个变化,我知道在两个版本中,布尔表达式都会返回true。
nums = [4,3,2,1]
if nums == []:
nums = [4,3,2,1]
以下是结果。
nums.pop()
1
nums.pop()
2
nums.pop()
3
nums.pop()
4
nums.pop()
IndexError: pop from empty list
你想让列表变空后被重置吗?
nums = [4,3,2,1]
while True:
while nums:
nums.pop()
nums = [4,3,2,1]
更新。
class fake_iter:
def __init__(self, arr: tuple):
self.nums = arr
self.ind = 0
def next(self):
res = self.nums[self.ind]
self.ind = (self.ind + 1) % len(self.nums) # you might only need this
return res
it = fake_iter((1, 2, 3, 4))
for i in range(10):
print(it.next())
你可能想要这样的东西
global control, nums
control=True
nums = []
def myloop():
global control,nums
if control==True:
nums = [4,3,2,1]
control=False
if len(nums)==1:
control=True
return nums.pop()
for i in range(10):
print(myloop())