<s>[INST] class Solution:
    def twoSum(self, nums: List[int], target: int) -> List[int]:
        if len(nums) <= 1:
            return False
        d = {}
        for i in range(len(nums)):
            if nums[i] in d:
                return [d[nums[i]], i]
            d[target-nums[i]] = i
        return []

I see that in this code, the dictionary `d` for storing indices is actually storing the value of `target-nums[i]` and its index, rather than directly storing `nums[i]` and its index. 

Could you explain why this is a good practice?[/INST]