找到两个列表中常见的最大数字#python

问题描述 投票:0回答:5

所以我正在制作一个简化程序,以找到两个列表中可以被相同数字整除的最大数字,我已经找到了部分执行的方法......我需要一种方法,以便我可以从两个列表中找到一个共同的价值给定的列表,这也是两个列表中的最高公共值。就像应该选择并返回两个给定列表中存在的最大数字一样,我还没有代码我仍在计划要做什么

例子: 列表 1 = [2,4,6,12] list2 = [2,4,6,8,14]

我需要的答案是 6,因为它是这两个列表中的最高公共数字,它不应该是 2 或 4,因为它们不是最高值。我希望我的解释是可以理解的来写一个回复。谢谢

python list max
5个回答
2
投票

最简单的方法是使用两个集合的交集,如下所示:

list1 = [2,4,6,12]
list2 = [2,4,6,8,14]

print(max(set(list1).intersection(list2)))

……或者……

print(max(set(list1) & set(list2)))

输出:

6

1
投票

另一种不使用for循环的解决方案,速度稍微快一点:

list1=[2,4,6,12]
list2=[2,4,6,14]
max_in_both = max(filter(lambda x: x in list2, list1))

0
投票

如果你发布你尝试过的东西会更好,但这里有一个简单的解决方案。

def intersection(lst1, lst2):
    lst3 = [value for value in lst1 if value in lst2]
    lst3.sort()
    return lst3

lst1 = [2,4,6,12]
lst2 = [2,4,6,8,14]
var = intersection(lst1, lst2)
print(var[-1])

-1
投票

试试这个:

  1. 一个新列表,但只包含 list1 和 list2 的公共整数
  2. 新列表中的最高整数是printd

长得像:

#DECLARING LISTS
list1 = [2,4,6,12]
list2 = [2,4,6,8,14]

#CREATING NEW LIST
list3 = []

#CHECKING FOR COMMON INTEGERS
for i in list1:
    if i in list2:
        #ADDING COMMON INTEGERS TO THE NEW LIST
        list3.append(i)
    else:
        pass

#FINDING THE HIGHEST INTEGER & PRINTING IT
max_num = max(list3)
print(max_num)

-1
投票

你可以简单地遍历并检查旅游条件是否满足 代码就是

list1=[9,1,2]
list2=[1,3,4]
import math
s=-math.inf
if len(list1)>len(list2):
 t=list1.copy() 
 list1=list2.copy() 
 list2=t.copy() 
for i in range(0,len(list1)):
 if list1[i] in list2 and list1[i]>=s:
  s=list1[i]
print(s)
© www.soinside.com 2019 - 2024. All rights reserved.