使用列表理解来查找列表中的元素,而另一个列表中的所有元素都是因子

AkThao:

我有一个数字列表,可以从中提取所有这些数字的公因子。例如,从清单中b = [16, 32, 96],我产生了list_of_common_factors = [1, 8, 16, 2, 4]

我还有另一个整数列表,a我希望提取list_of_common_factors所有构成要素的数字a因此,如果是a = [2, 4],那么我应该以结尾[4, 8, 16],因为这些是list_of_common_factors其中2和4是因子的数字。

但是,我正在努力弄清楚如何以列表理解方式甚至在伪代码中实现此步骤。它看起来应该像这样:[x for x in list_of_common_factors if all elements of a are factors of x]我遇到麻烦的是if语句,因为我认为它应该包含for循环,但是我想不出一种简洁的编写方法。

我已经成功地做到了,使用嵌套的for循环,它看起来像这样:

between_two_lists = []
# Determine the factors in list_of_common_factors of which all elements of a are factors.
for factor in list_of_common_factors:
    # Check that all a[i] are factors of factor.
    """ Create a counter.
        For each factor, find whether a[i] is a factor of factor.
        Do this with a for loop up to len(a).
        If a[i] is a factor of factor, then increment the counter by 1.
        At the end of this for loop, check if the counter is equal to len(a).
        If they are equal to each other, then factor satisfies the problem requirements.
        Add factor to between_two_lists. """
    counter = 0
    for element in a:
        if factor % element == 0:
            counter += 1
    if counter == len(a):
        between_two_lists.append(factor)

between_two_lists是我通过将上面的代码转换为列表理解而试图生成的列表。如果可能的话,我该怎么办?

Mehrdad Pedramfar:

您正在寻找的是:

[x for x in list_of_common_factors if all(x % i==0 for i in a)]

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

Python在一个列表中查找不在另一个列表中的元素

使用Java 8流在2个列表中查找匹配的元素,并从另一个列表中更新一个列表值

如何找到该列表包含另一个列表中的所有元素?

如何在sqlite中查找列表是否包含另一个列表的任何元素

测试所有元素是否在Python的另一个列表中

如何检查一个列表中的所有元素是否是Prolog中另一个列表的成员

如何检查元组或列表中的所有元素是否都在另一个元素中?

从具有另一个列表中给定索引的列表元素中提取

检查列表是否包含另一个列表中存在的所有类型的元素

将所有元素保留在另一个列表中

是否有R函数删除列表中的一个元素并将所有元素存储在另一个列表中

如何从另一个列表中查找列表中存在的元素

Python使用另一个列表中的元素过滤出一个列表

查找列表中元素在另一个列表中特定范围内的位置

将列表的所有元素分别附加到python中另一个列表的所有元素

查找列表中的任何元素是否在另一个列表中

如何使用LINQ在列表中查找在另一个列表中成员最多的所有项目?

检查列表列表的所有元素是否在另一个列表列表Python中

根据另一个列表中的元素重复一个列表中的元素

使用“ while”从另一个列表中删除一个列表中的元素

使用 Selenium 从另一个框架中查找与下拉列表相关的元素 -- Python

如果在另一个列表中找不到一个列表中的元素,我如何在列表理解中使用 else ?

从另一个列表中的一个列表中查找元素数

如何使用列表的另一个元素查找嵌套列表的元素

如何检查列表中的所有元素是否都在另一个列表中?

使用另一个列表中的元素更新列表元素

获取列表中的所有元素,直到其结束或另一个参数 Python

如何基于另一个列表中不存在的属性的所有元素

如何检查另一个列表中列表的所有三个元素是否存在