1.利用字典,建立字典后进行引用比对
def two_sum(nums,target):
dict1 = {}
for k,num in enumerate(nums):
dict1[num] = k #建立一个字典
for i,num in enumerate(nums):
j = dict1.get(target-nums[i]) #引用上一个字典,寻找另一个值的对应位置
if j != i and j is not None:
return [i,j]
2.利用字典,边写字典边进行比对判定
class Solution:
def two_sum(self,nums,target):
dict1 = {}
for i,num in enumerate(nums): #i是位置,num是值
if dict1.get(target-nums[i]) is not None #新来一个数与之前已经加入的数(字典)比对
return [i,dict1.get(nums[i])] #如果存在就返回,不存在就重新循环
dict[num] = i #将新来的数加入字典当中
*enumerate函数会返回列表的中数据的位置和值