我有这个程序可以计算回答特定问题所需的时间,并在答案不正确时退出 while 循环,但我想删除最后一个计算,所以我可以打电话min(),这不是错误的时间,对不起,如果这令人困惑。
min()
from time import time q = input('What do you want to type? ') a = ' ' record = [] while a != '': start = time() a = input('Type: ') end = time() v = end-start record.append(v) if a == q: print('Time taken to type name: {:.2f}'.format(v)) else: break for i in record: print('{:.2f} seconds.'.format(i))
如果我正确理解了这个问题,您可以使用切片符号来保留除最后一项之外的所有内容:
record = record[:-1]
但更好的方法是直接删除该项目:
del record[-1]
注意1:注意使用record = record[:-1]并没有真正删除最后一个元素,而是将子列表分配给record。如果您在函数中运行它并且记录是一个参数,这会有所不同。使用 record = record[:-1] 原始列表(函数外部)未更改,使用 del record[-1] 或 record.pop() 更改列表。(如@pltrdy 在评论中所述)
注 2:代码可以使用一些 Python 习语。我强烈推荐阅读这篇文章: Code Like a Pythonista: Idiomatic Python (via wayback machine archive)。