请问,下面代码在字典那段怎么理解
def two_sum(self, nums, val):if nums is None or val is None:
raise TypeError('heheh ')
if not nums:
raiseValueError('hahah ')
cache = {}
for index, num in enumerate(nums):
cache_val = val - num
if num in cache:
return , index]
else:
cache = index
return None
cache = {} 怎么和for语句关联的呀? for语句是创建了一个字典吗,怎么把项弄到cache里面的? cache = {} 怎么和for语句关联的呀?
和 for 循环里面的 else 下面的代码块有关联
for语句是创建了一个字典吗,怎么把项弄到cache里面的?
字典是你之前 cache = {} 就创建了,是在 for 循环中添加字典中的元素
当 num 不在字典中时,就将执行 else 语句 往 cache = {} 字典里添加新的 键-值对 元素,也就是执行:cache = index
Twilight6 发表于 2020-6-23 19:55
和 for 循环里面的 else 下面的代码块有关联
奥, 原来如此,
cache和cache意义不都是一样的吗,那为什么还要多设置一个变量
脑袋稀昏,做小题目 倒是能做了,一把知识点混一起脑袋就转不过来。 白白白白丶白 发表于 2020-6-23 20:14
奥, 原来如此,
cache和cache意义不都是一样的吗,那为什么还要多设置一个变量
因为你这个代码不是完整的 ,其他的无法判断哈, 你这定义的是一个类里面的方法
num 是num而 cache_val 是 等于你 val - num 意义怎么会一样呢~ Twilight6 发表于 2020-6-23 20:18
因为你这个代码不是完整的 ,其他的无法判断哈, 你这定义的是一个类里面的方法
num 是num而 c ...
好的,知道了,谢谢
白白白白丶白 发表于 2020-6-23 20:24
好的,知道了,谢谢
客气~加油吧
页:
[1]