【发布时间】:2022-12-01 02:55:38
【问题描述】:
我有两个列表:
expected = ["apple", "banana", "pear"]
actual = ["banana_yellow", "apple", "pear_green"]
我试图断言预期 = 实际。即使在某些元素的末尾添加了颜色,它仍应返回 true。
我尝试过的事情:
for i in expected:
assert i in actual
我希望这样的事情会起作用,但它试图将第一个元素 apple 与 banana 匹配并返回 false 而不是检查整个列表,如果列表中的任何地方都有 apple 则返回 true 。我希望有人能帮忙?
【问题讨论】:
-
[item.split('_')[0] for item in actual]有帮助吗? -
这是假设它总是添加“_”,但事实可能并非如此。我更多地考虑了 .startswith() 之类的东西?或 .any() ?
-
或者也许.contains()?
-
你是什么意思“将第一个元素 apple 与 banana 匹配并返回 false 而不是检查整个列表并在列表中的任何位置有 apple 时返回 true”?它没有那样做。
-
两个列表的长度是否相同?