【发布时间】:2020-08-02 12:50:06
【问题描述】:
我是 python 新手。假设我有多个列表列表(在本例中为 2 )。示例:
名单A [ ['a', 'b', 'a', 'c', 'd'] , ['q', 'w', 'a', 'c'] ]
列表 B [ ['a', 'p', 'z', 'c', 'q'] , ['a', 'l', 'k', 'j'] ].
我想比较列表 A 和列表 B,并找出两个列表中出现的特定元素及其频率。在这种情况下,我希望答案是“q”、“a”和“c”。但我不想计算列表 A 或列表 A 的任何子列表中出现的“a”。
考虑到列表 A 中的元素“a”,我只想知道列表 B 中是否也看到了“a”,并将该出现次数计为频率 = 2,但说“b”仅在列表 A 中看到,所以它的频率仅为1。我还想知道在其中看到元素的列表的名称,所以对于“a”,答案将是列表 A 和列表 B,但对于“b”,它只是列表 A。
基本直觉是跟踪与其他值相比分布更广(即存在于更多列表中)的值。有没有一种有效的方法来做到这一点?任何帮助表示赞赏,谢谢!
【问题讨论】:
-
您能否更清楚地解释您的问题?我没有看到列表中的差异和字符频率之间的联系
-
既然答案应该是 'q'、'a' 和 'c',你所说的更多传播是什么意思?虽然 'a' 出现在所有子列表中,但 'q' 在列表 A 和列表 B 中只出现一次。
-
@Danny 除了上面提到的,考虑到列表 A 中的元素 'a',我只想知道在列表 B 中是否也看到了 'a',并将出现次数计为频率 = 2,但是说'b'只出现在列表A中,所以它的频率只有1。我还想知道在其中看到元素的列表的名称,因此对于“a”,答案将是列表 A 和列表 B,但对于“b”,它只是列表 A。
-
@DarrylG 我的意思是更多的传播,哪些值出现在更多的列表中(在这种情况下是列表 A 和列表 B)。我有更多的列表列表,为了简单起见,在这里声明了 2。谢谢!
-
那么您是否正在寻找出现在所有列表中的元素?项目“a”、“c”、“q”的计数为 2(即它们出现在两个列表中)。使用 n 个列表 List1、List2、... Listn,您是否正在寻找出现在所有 n 个列表中的元素(所以有 n 个计数)?
标签: python python-3.x list