检查元组列表中是否出现元组时出现 ValueError

ValueError when checking if tuple occurs in list of tuples

当我在 运行 我的代码中时,我突然得到一个意想不到的错误: ValueError: The truth value of an array with more than one element is ambiguous. Use a.any() or a.all()

我正在尝试检查列表中是否出现元组:

concat_tuples = [(7, 18), (7, [0, 10, 19]), (7, 16)]
to_explode = [c for c in concat_tuples if any(isinstance(x, list) and 
              len(x) > 1 for x in c)]
# >> to_explode = [(7, [0, 10, 19])]
not_explode = [x for x in concat_tuples if x not in to_explode]

但是,我的最后一行代码在我的第一个值(可能还有其他值)的脚本中失败了。奇怪的是它在我的 Python 控制台中有效,但在我的脚本 (pytests) 中无效。我的脚本可能出了什么问题?

我试过的

事实证明,有时大多数元组包含整数,有时它们包含 numpy int32 对象,这导致了错误。我通过将所有内容转换为字符串来修复它。