1 setdefault(key,[])
data = [("p", 1), ("p", 2), ("p", 3),
("h", 1), ("h", 2), ("h", 3)]
for (key, value) in data:
result.setdefault(key, []).append(value)
print(result)#'p': [1, 2, 3], 'h': [1, 2, 3]}
作者:wanghua609
来源:优快云
原文:https://blog.youkuaiyun.com/weixin_38145317/article/details/93175217
版权声明:本文为博主原创文章,转载请附上博文链接!
2 TwoSum(sorted)
说明:
Input: numbers = [2,7,11,15], target = 9
Output: [1,2]
Explanation: The sum of 2 and 7 is 9. Therefore index1 = 1, index2 = 2.
class Solution:
def twoSum(self, numbers: List[int], target: int) -> List[int]:
i = 0
j = len(numbers)-1
while i<j:
if numbers[i] + numbers[j] == target:
return [i+1,j+1]
elif numbers[i] + numbers[j] > target:
j-= 1
else:
i += 1
return [i,j]
3 twoSum no sorted
class Solution:
def twoSum(self, nums: List[int], target: int) -> List[int]:
dict ={}
for i in range(len(nums)):
if target - nums[i] not in dict:
dict[nums[i]] = i
else:
return [dict[target-nums[i]],i]