【发布时间】:2020-09-28 08:55:15
【问题描述】:
dct = {k: v for k in ["HELLO", "SLEEPING"] for v in ["WORLD", "CITY"]}
print(dct["HELLO"])
【问题讨论】:
-
你真的检查了
dct本身的值吗?为什么你会认为"World"是 any 键的值呢? -
如果您创建一个列表而不是字典:
[(k,v) for k in ["HELLO", "SLEEPING"] for v in ["WORLD", "CITY"]],您将自己看到所有答案提到的嵌套循环:[('HELLO', 'WORLD'), ('HELLO', 'CITY'), ('SLEEPING', 'WORLD'), ('SLEEPING', 'CITY')]。更容易理解为什么 SLEEPING 在 dict 案例中被“覆盖”。
标签: python loops list-comprehension