You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

字典键为集合时,能否通过集合内元素直接获取对应值?

问题解答

不能通过my_dict["foo"]获取值1,必须使用完整的元组键("foo", "bar")才能访问对应的value。

原因很简单:字典的键匹配是精确匹配——你定义的键是元组类型的("foo", "bar"),而"foo"是单独的字符串,两者是完全不同的对象,字典根本找不到这个键,直接调用my_dict["foo"]会抛出KeyError。

举个实际的例子:

  • 正确访问方式:
    my_dict = { ("foo", "bar") : 1 }
    print(my_dict[("foo", "bar")])  # 输出 1
    
  • 如果想通过单个"foo"或"bar"就能访问到值,你需要调整字典结构,比如:
    # 方案1:将两个字符串分别作为键
    my_dict = {"foo": 1, "bar": 1}
    print(my_dict["foo"])  # 输出 1
    
    # 方案2:嵌套字典
    my_dict = {"foo": {"bar": 1}}
    print(my_dict["foo"]["bar"])  # 输出 1
    

内容的提问来源于stack exchange,提问作者Jeff

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.07 08:35:21