[英]AssertionError of different lists
我在不使用 reversed() 函數的情況下進行了反向枚舉。 我希望字符串和數字反向打印。 但是,在測試時,我收到一個 AssertionError,指出列表不匹配。
def my_own_enumerate(a):
for i in range(len(a)-1, -1, -1):
return i, a[i]
class Test(unittest.TestCase):
def test_my_own_enumerate(self):
self.assertEqual([(0, "m"), (1, "e"), (2, "!")], list(my_own_enumerate("me!")))
my_own_enumerate
是為了返回一個反向枚舉(正如你自己所說的),所以我不確定你為什么用一個非反向枚舉來斷言它的輸出。
my_own_enumerate
的循環在第一次迭代后返回,因此它總是只返回最后一個字符及其索引。 相反,嘗試
def my_own_enumerate(a): return [(i, a[i]) for i in range(len(a) - 1, -1, -1)]
然后
print(my_own_enumerate('me!'))
# [(2, '!'), (1, 'e'), (0, 'm')]
和
class Test(unittest.TestCase):
def test_my_own_enumerate(self):
self.assertEqual([(2, '!'), (1, 'e'), (0, 'm')], my_own_enumerate("me!"))
不會失敗。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.