Python:如何将列表中的一个元素与除自身之外的其他元素进行比较?

2024-04-27 03:27:35 发布

您现在位置:Python中文网/ 问答频道 /正文

例如,listA = [1,2,3,4,5],我想将每个元素与listA[4]相乘,得到没有listA[4] * listA[4]的最大乘积


Tags: 元素乘积lista
3条回答

也可以不用numpy使用列表理解

max([a*listA[4] for i,a in enumerate(listA]) if i!=4 )
someList = [1,2,3,4,5]

maxN = 0
otherElement = 0
elementToMult = 4
for i, n in enumerate(someList):
  tempVar = n * someList[elementToMult]
  print(n, i, tempVar)
  if tempVar > maxN:
    maxN = tempVar
    otherElement = i

print("The max is {0} which is {1} * {2}".format(maxN,someList[otherElement], someList[elementToMult]))

这将为您提供最大乘积&要与给定元素相乘以获得最大乘积的元素

这里有一个可读的迭代方法。计算除目标索引外的所有索引中的最大值:

listA = [1,2,3,4,5]

TARGET_INDEX = 4
maximum = 0
for i, val in enumerate(listA):
    if i == TARGET_INDEX:
        continue

    maximum = max(maximum, val*listA[TARGET_INDEX])

print maximum

相关问题 更多 >