查找可以在列表中正确划分另一个元素的最大元素

时间:2019-11-08 10:45:21

标签: python algorithm list sorting

我有一个列表作为输入:

Num_list = [4,16,64,2,8]

我想输出:

Largest_Product_Integer = 16

我需要输出列表中最大的整数,该整数将同一列表中的另一个整数相除。在这种情况下,它应该为16,因为16除以64。但是,也包括数字平方,8 ^ 2 = 64,但是16大于8,因此16是maximum_product_integer。如果找不到这样的元素,我想返回-1

1 个答案:

答案 0 :(得分:1)

在重新输入问题后,我认为您正在寻找列表中最大的数字,该数字是输入列表中另一个元素的proper divisor。我建议您使用以下代码段:

Num_list = [4,16,64,2,8]

print(max([i for i in Num_list if any((n % i == 0 and i != n for n in Num_list)) ] + [-1]))

如果找不到这样的元素,它将返回-1