如何将列表中的两个数字相加?

Has*_*von 0 python python-3.x

python 3的解决方案是什么?

给定一个整数数组,返回两个数字的索引,使它们相加为特定目标。您可以假设每个输入都只有一个解决方案,并且您不能两次使用相同的元素。

例子:

Given nums = [2, 7, 11, 15], target = 9,
Because nums[0] + nums[1] = 2 + 7 = 9,
return [0, 1]. 
Run Code Online (Sandbox Code Playgroud)

Alv*_*lin 6

该函数迭代列表中的所有数字并计算与其他数字的总和。如果总和等于目标,则返回索引

def indices_sum(nums,target):
    for i in range(len(nums)):
        for j in range(i+1,len(nums)):
            if nums[i]+nums[j] == target: return(i,j)
Run Code Online (Sandbox Code Playgroud)


Jea*_*bre 5

useitertools.combinations将列表中的元素组合成非重复的对,并检查总和是否匹配。如果是,则打印术语的位置:

import itertools

integer_array = [2, 8, 4, 7, 9, 5, 1]
target = 10
for numbers in itertools.combinations(integer_array,2):
    if sum(numbers) == target:
        print([integer_array.index(number) for number in numbers])
Run Code Online (Sandbox Code Playgroud)