比较每个项目中具有多个值的两个列表

2024-04-25 07:53:02 发布

您现在位置:Python中文网/ 问答频道 /正文

我有两个列表A = [[1, 2, 3, 4], [5, 6, 7, 8]]和另一个列表B = [[1, 2, 3, 4], [8, 6, 3, 2]]。现在我想比较AB中的子字符串。如果它们包含相同的子列表,那么我想将它们附加到一个单独的列表中。我以正常的方式比较字符串。但是,由于它们在单个项中包含4个值,因此会抛出错误:包含多个元素的数组的真值是不明确的。使用a.any()或a.all()。我找不到任何办法来解决这个问题。给定示例的预期输出为[[1, 2, 3, 4]]


Tags: 字符串元素示例列表错误方式any数组
1条回答
网友
1楼 · 发布于 2024-04-25 07:53:02

您可以使用普通等式来比较子列表,并将两个列表压缩在一起以比较同一索引中的项目,例如

[a for a, b in zip(A, B) if a == b] 

将返回在AB中相同的所有元素的列表(并且在两者中的索引相同)

I have two lists A = [[1, 2, 3, 4], [5, 6, 7, 8]] and another list B = [[1, 2, 3, 4], [8, 6, 3, 2]]. Now I want to compare the sub-strings in A and B.

你有列表的列表,这里没有子字符串

I did in a normal way to compare strings.

你在说什么?“比较字符串的常规方法”是什么

But as they contain 4 values in a single item it is throwing error : The truth value of an array with more than one element is ambiguous.

什么错误?不,它不是。python中数组的真值是空数组是假数组,非空数组是真数组。同时,两个数组的比较是简单的字典式的。没有含糊不清的地方

Use a.any() or a.all() .

这和其他事情有什么关系

I cannot find any way to solve this.

你到底尝试了什么,这些尝试背后的理由是什么,结果是什么

相关问题 更多 >