所以我正在制作一个简化程序,以找到两个列表中可以被相同数字整除的最大数字,我已经找到了部分执行的方法......我需要一种方法,以便我可以从两个列表中找到一个共同的价值给定的列表,这也是两个列表中的最高公共值。就像应该选择并返回两个给定列表中存在的最大数字一样,我还没有代码我仍在计划要做什么
例子: 列表 1 = [2,4,6,12] list2 = [2,4,6,8,14]
我需要的答案是 6,因为它是这两个列表中的最高公共数字,它不应该是 2 或 4,因为它们不是最高值。我希望我的解释是可以理解的来写一个回复。谢谢
最简单的方法是使用两个集合的交集,如下所示:
list1 = [2,4,6,12]
list2 = [2,4,6,8,14]
print(max(set(list1).intersection(list2)))
……或者……
print(max(set(list1) & set(list2)))
输出:
6
另一种不使用for循环的解决方案,速度稍微快一点:
list1=[2,4,6,12]
list2=[2,4,6,14]
max_in_both = max(filter(lambda x: x in list2, list1))
如果你发布你尝试过的东西会更好,但这里有一个简单的解决方案。
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])
试试这个:
长得像:
#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)
你可以简单地遍历并检查旅游条件是否满足 代码就是
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)