鱼C论坛

 找回密码
 立即注册
查看: 1156|回复: 5

[已解决]请问,下面代码在字典那段怎么理解

[复制链接]
发表于 2020-6-23 19:41:57 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
def two_sum(self, nums, val):
    if nums is None or val is None:
        raise TypeError('heheh ')
    if not nums:
        raise  ValueError('hahah ')
    cache = {}
    for index, num in enumerate(nums):
        cache_val = val - num
        if num in cache:
            return [cache[num], index]
        else:
            cache[cache_val] = index
    return None
cache = {} 怎么和for语句关联的呀? for语句是创建了一个字典吗,怎么把项弄到cache里面的?
最佳答案
2020-6-23 19:55:39
cache = {} 怎么和for语句关联的呀?


和 for 循环里面的 else 下面的代码块有关联

for语句是创建了一个字典吗,怎么把项弄到cache里面的?


字典是你之前 cache = {} 就创建了,是在 for 循环中添加字典中的元素

当 num 不在字典中时,就将执行 else 语句 往 cache = {} 字典里添加新的 键-值对 元素,也就是执行:cache[cache_val] = index
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-6-23 19:55:39 | 显示全部楼层    本楼为最佳答案   
cache = {} 怎么和for语句关联的呀?


和 for 循环里面的 else 下面的代码块有关联

for语句是创建了一个字典吗,怎么把项弄到cache里面的?


字典是你之前 cache = {} 就创建了,是在 for 循环中添加字典中的元素

当 num 不在字典中时,就将执行 else 语句 往 cache = {} 字典里添加新的 键-值对 元素,也就是执行:cache[cache_val] = index
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-6-23 20:14:26 | 显示全部楼层
Twilight6 发表于 2020-6-23 19:55
和 for 循环里面的 else 下面的代码块有关联

奥, 原来如此,

cache[num]和cache[cache_val]意义不都是一样的吗,那为什么还要多设置一个变量

脑袋稀昏,做小题目 倒是能做了,一把知识点混一起脑袋就转不过来。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-6-23 20:18:13 | 显示全部楼层
白白白白丶白 发表于 2020-6-23 20:14
奥, 原来如此,

cache[num]和cache[cache_val]意义不都是一样的吗,那为什么还要多设置一个变量



因为你这个代码不是完整的 ,其他的无法判断哈, 你这定义的是一个类里面的方法

num 是num  而 cache_val 是 等于你 val - num 意义怎么会一样呢~
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-6-23 20:24:47 | 显示全部楼层
Twilight6 发表于 2020-6-23 20:18
因为你这个代码不是完整的 ,其他的无法判断哈, 你这定义的是一个类里面的方法

num 是num  而 c ...

好的,知道了,谢谢
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-6-23 20:29:54 | 显示全部楼层

客气~加油吧
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-1-20 07:07

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表