list = ['0','1','2','3','4','5','6']
for item in list:
return item
我的目标:
第一次运行此功能,我想要0
第2次运行此功能,我想要1个
第3次运行此功能,我想要2
。
。
。
第7次运行此功能,我想要6.
print(item)可以做到这一点,但有没有办法用return?
感谢
答案 0 :(得分:2)
尝试使用next
:
>>> l = ['0','1','2','3','4','5','6']
>>> iter_ = iter(l)
>>> next(iter_)
'0'
>>> next(iter_)
'1'
>>> next(iter_)
'2'
>>>
答案 1 :(得分:1)
我认为你正在寻找一种名为pop
的方法每次运行list.pop(0)时,它会弹出列表中的第一个元素,因此如果多次运行它将逐个返回每个元素
counter = 0
l = ['0','1','2','3','4','5','6']
def returnVal():
global counter
global l
counter = (counter + 1) % len(l)
return l[counter]
print(returnVal())
print(returnVal())
print(returnVal())
print(returnVal())
print(returnVal())
print(returnVal())
print(returnVal())
print(returnVal())
答案 2 :(得分:0)
您可以使用计数器变量。
public async Task MyTest {
//Arrange
//...assume controller and dependencies defined.
//Act
IActionResult actionResult = await controller.Get();
//Assert
var okResult = actionResult as OkObjectResult;
Assert.IsNotNull(okResult);
var newBatch = okResult.Value as List<Batch.Context.Models.Batch>;
Assert.IsNotNull(newBatch);
//...other assertions.
}
答案 3 :(得分:0)
也许这会对您有所帮助,您可以通过.reset()
获取下一个项目并通过Looper(items*)
重置为第一个项目。只需使用class Looper(list):
_counter = -1
def get_next(self):
self._counter += 1
return self[self._counter]
def reset_counter(self):
self._counter = -1
初始化对象,就像使用列表一样。
Looper
我真的不知道该怎么称呼所以为了时间而选择了(define delete
(lambda (a lst)
(cond
((null? lst) (lst))
((eq? (car lst) a) (cdr lst))
(else (cons (car lst)
(delete a (cdr lst)))))))
。
答案 4 :(得分:-1)
在2之后你遗失'
,这可能适合你:
list = ['0', '1', '2', '3', '4', '5', '6']
def get_list_item(list, index):
return list[index]
for index in range(0, len(list)):
print(get_list_item(list, index))