相关疑难解决方法(0)

2个列表之间的常见元素比较

def common_elements(list1, list2):
    """
    Return a list containing the elements which are in both list1 and list2

    >>> common_elements([1,2,3,4,5,6], [3,5,7,9])
    [3, 5]
    >>> common_elements(['this','this','n','that'],['this','not','that','that'])
    ['this', 'that']
    """
    for element in list1:
        if element in list2:
            return list(element)
Run Code Online (Sandbox Code Playgroud)

到目前为止,但似乎无法让它工作!

有任何想法吗?

python list

109
推荐指数
9
解决办法
21万
查看次数

Python - 多个列表的交叉?

我正在玩python并且能够得到两个列表的交集:

result = set(a).intersection(b)
Run Code Online (Sandbox Code Playgroud)

现在,如果d是包含ab第三个元素的列表c,是否有内置函数用于查找内部所有三个列表的交集d?所以,例如,

d = [[1,2,3,4], [2,3,4], [3,4,5,6,7]]
Run Code Online (Sandbox Code Playgroud)

那么结果应该是

[3,4]
Run Code Online (Sandbox Code Playgroud)

python intersection list set

51
推荐指数
4
解决办法
4万
查看次数

两个列表的Python交集保持重复

我有两个平面列表,其中一个包含重复值.例如,

array1 = [1,4,4,7,10,10,10,15,16,17,18,20]
array2 = [4,6,7,8,9,10]
Run Code Online (Sandbox Code Playgroud)

我需要在array1中找到也在array2中的值,在array1中保留重复数据.期望的结果将是

result = [4,4,7,10,10,10]
Run Code Online (Sandbox Code Playgroud)

我想避免循环,因为实际数组将包含数百万的值.我尝试了各种设置和交叉组合,但是无法保留重复项.

任何帮助将不胜感激!

python duplicates array-intersect

7
推荐指数
2
解决办法
5007
查看次数

在 Kotlin 中维护重复值的两个列表的交集

我想在不消除重复项的情况下找到两个列表之间的公共元素的数量。

例如:


输入:[1, 3, 3]&[4, 3, 3]

输出:2,因为公共元素是[3, 3]


输入:[1, 2, 3]&[4, 3, 3]

输出:1,因为公共元素是[3]


如果我要使用 Kotlin 集合intersect,结果是一个集合,这将阻止我计算重复值。

我发现(对于 Python)this,它以不同的方式处理重复项和this,这使我使用了这个实现,列表在哪里ab在哪里:

val aCounts = a.groupingBy { it }.eachCount()
val bCounts = b.groupingBy { it }.eachCount()
var intersectionCount = 0;
for ((k, v) in aCounts) {
    intersectionCount += Math.min(v, bCounts.getOrDefault(k, 0))
}
Run Code Online (Sandbox Code Playgroud)

然而,作为 Kotlin 的新手,我想知道是否有一种更“Kotlin-y”的方式来做到这一点——利用 Kotlin 的所有集合功能的东西?也许避免显式迭代的东西?

collections kotlin

2
推荐指数
1
解决办法
7799
查看次数