Python 用于提取秒数的doctest
我写了一篇博士论文: def提取_秒(三倍): “”“给定一个三元组列表,返回一个包含每个三元组的第二个元素的列表Python 用于提取秒数的doctest,python,testing,doctest,Python,Testing,Doctest,我写了一篇博士论文: def提取_秒(三倍): “”“给定一个三元组列表,返回一个包含每个三元组的第二个元素的列表 If an item is not a triple, return None for that element >>> extract_second([('a',3,'x'),('b',4,'y')]) [3, 4] >>> extract_second([('c',5,'z'),('d',6)]) [5, None] >>>
If an item is not a triple, return None for that element
>>> extract_second([('a',3,'x'),('b',4,'y')])
[3, 4]
>>> extract_second([('c',5,'z'),('d',6)])
[5, None]
>>> extract_second([('a',3,'x'),('b',4,'y')]) == [3, 4]
True
"""
for x in triples:
return x[1]
虽然代码没有返回输入的第二个列表的第一个索引。有什么想法吗?您只返回一个答案的原因是因为返回语句一遇到就打断了for循环。它相当于这样:
for x in list:
break
return x[1]
您的问题的解决方案如下:
results = []
for i in triples:
if len(i) == 3:
results.append(i[1])
else:
results.append(None)
return results
此解决方案将答案附加到名为results的列表中,并在完成对三元组的迭代后返回结果