我有两个列表A = [[1, 2, 3, 4], [5, 6, 7, 8]]
和另一个列表B = [[1, 2, 3, 4], [8, 6, 3, 2]]
。现在,我想比较A
和B
中的子字符串。如果它们包含相同的子列表,那么我想将它们附加到单独的列表中。我以正常方式比较字符串。但是由于它们在单个项目中包含4个值,因此会引发错误:具有多个元素的数组的真值是不明确的。使用a.any()或a.all()。我找不到任何解决方法。给定示例的预期输出为[[1, 2, 3, 4]]
答案 0 :(得分:0)
您可以使用普通等式与子列表进行比较,然后将两个列表压缩在一起以比较具有相同索引的项目,例如
[a for a, b in zip(A, B) if a == b]
将返回A
和B
中相同的所有元素的列表(两者都在相同的索引处)。
我有两个列表A = [[1、2、3、4],[5、6、7、8]]和另一个列表B = [[1、2、3、4],[8、6 ,3,2]]。现在,我想比较A和B中的子字符串。
您有列表列表,此处没有子字符串。
我以正常方式比较字符串。
您在说什么?什么是“比较字符串的正常方法”?
但是由于它们在单个项目中包含4个值,因此会引发错误:具有多个元素的数组的真值是不明确的。
什么错误?不,不是。 python中数组的真值是空数组为假,非空数组为真。同时,两个数组的比较只是字典上的。在那里没有任何歧义。
使用a.any()或a.all()。
这与其他事物有什么关系?
我找不到任何解决方法。
您实际上尝试了什么,这些尝试背后的原因是什么,结果是什么?