想问一下这里的 key = value 是什么原理?

2018-11-03 12:02:26 +08:00
 KeepingNow

刚学 python。

def build_profile(first, last, **user_info):
    profile = {}
    profile['first_name'] = first
    profile['last_name'] = last
    for key, value in user_info.items():
        profile[key] = value   """问题所在行"""
    return profile


user_profile = build_profile(
    'albert', 'einstein', location='princeton', field='physics')
print(user_profile)


{'first_name': 'albert', 'last_name': 'einstein', 'location': 'princeton', 'field': 'physics'}

已经测试必须 profile[key] = value 如此才可以

在问题行中:user_info 的 key 分别是 location 和 field,value 分别是 princeton physics。profile 这个字典的 key 应该是 user_info 遍历出来的 key 才对啊,那么为什么 key 要等于 value ? 我想知道这是什么原理。 谢谢大家。

4093 次点击
所在节点    Python
17 条回复
SuperMild
2018-11-03 12:15:44 +08:00
你是不是把 profile[key] = value 与 key = value 搞混了?
leyle
2018-11-03 12:16:39 +08:00
111111111111
2018-11-03 12:17:16 +08:00
那个不是等于,是赋值
Hopetree
2018-11-03 12:39:19 +08:00
这是字典的赋值,并不是判断好么
laike9m
2018-11-03 12:50:14 +08:00
你在说啥?
jugelizi
2018-11-03 13:11:27 +08:00
真的看文档很难吗
都不知道你在说什么
KeepingNow
2018-11-03 13:21:33 +08:00
@SuperMild 我把等于和赋值搞混了。现在明白了
KeepingNow
2018-11-03 13:22:04 +08:00
@leyle 谢谢,看了文档。现在明白了
KeepingNow
2018-11-03 13:23:10 +08:00
@jugelizi 看了。把赋值当成等于了。谢谢。
KeepingNow
2018-11-03 13:28:08 +08:00
@111111111111 谢谢,这是问题所在。铜币已发。
KeepingNow
2018-11-03 13:29:02 +08:00
@Hopetree 对,这是赋值,谢谢,我才想明白。铜币已发。
sola97
2018-11-03 13:33:15 +08:00
单个=一般不都是赋值么,真要判断也都是==啊
ericls
2018-11-03 13:50:17 +08:00
程序语言里面的 = 几乎都是 assign 或者 pattern match
KeepingNow
2018-11-03 13:55:28 +08:00
@sola97 是的,但是我也不知道怎么就以为是“等于”了,可能是没睡醒的原因(万能的借口
KeepingNow
2018-11-03 13:58:04 +08:00
@ericls 这个就不是很清楚了,懂点皮毛的编程语言的数量少。但是目前来说我遇到的都是赋值这个概念。
FaiChou
2018-11-03 22:51:42 +08:00
放下电脑, 喝杯茶, 出去走走吧, 有时候陷入了一种 chaos 当时是很难爬出来的, 过后更没必要觉得自己愚蠢, 因为人总是会犯错误, 这样学到的东西才能更加记忆犹新.
Mutoo
2018-11-04 08:20:42 +08:00
这就是为啥有些语言会把赋值与比较区分开来,例如
pascal 比较用 = 赋值用 :=
ecma 比例用 == 赋值用 =

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/504051

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX