<tfoot id='OV2hA'></tfoot>
    <bdo id='OV2hA'></bdo><ul id='OV2hA'></ul>

  • <small id='OV2hA'></small><noframes id='OV2hA'>

    <i id='OV2hA'><tr id='OV2hA'><dt id='OV2hA'><q id='OV2hA'><span id='OV2hA'><b id='OV2hA'><form id='OV2hA'><ins id='OV2hA'></ins><ul id='OV2hA'></ul><sub id='OV2hA'></sub></form><legend id='OV2hA'></legend><bdo id='OV2hA'><pre id='OV2hA'><center id='OV2hA'></center></pre></bdo></b><th id='OV2hA'></th></span></q></dt></tr></i><div id='OV2hA'><tfoot id='OV2hA'></tfoot><dl id='OV2hA'><fieldset id='OV2hA'></fieldset></dl></div>
  • <legend id='OV2hA'><style id='OV2hA'><dir id='OV2hA'><q id='OV2hA'></q></dir></style></legend>

      1. 您可以设置依赖于另一个字典条目的字典值吗?

        Can you set a dictionary value dependant on another dictionary entry?(您可以设置依赖于另一个字典条目的字典值吗?)

            <tbody id='BeDb1'></tbody>
            <legend id='BeDb1'><style id='BeDb1'><dir id='BeDb1'><q id='BeDb1'></q></dir></style></legend>
              • <bdo id='BeDb1'></bdo><ul id='BeDb1'></ul>

                1. <i id='BeDb1'><tr id='BeDb1'><dt id='BeDb1'><q id='BeDb1'><span id='BeDb1'><b id='BeDb1'><form id='BeDb1'><ins id='BeDb1'></ins><ul id='BeDb1'></ul><sub id='BeDb1'></sub></form><legend id='BeDb1'></legend><bdo id='BeDb1'><pre id='BeDb1'><center id='BeDb1'></center></pre></bdo></b><th id='BeDb1'></th></span></q></dt></tr></i><div id='BeDb1'><tfoot id='BeDb1'></tfoot><dl id='BeDb1'><fieldset id='BeDb1'></fieldset></dl></div>
                  <tfoot id='BeDb1'></tfoot>

                  <small id='BeDb1'></small><noframes id='BeDb1'>

                  本文介绍了您可以设置依赖于另一个字典条目的字典值吗?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着跟版网的小编来一起学习吧!

                  问题描述

                  我的想法是这样的:

                  dict1 = {key1:3, key2:5, key3:key1+key2}
                  # so key3 relate to the value: 8 (3+5)
                  dict1.update({key2:6})
                  # key3 will now relate to the value: 9 (3+6)
                  

                  我试图避免更新不必要的条目,并基于在比较关系值时已经在一系列查找和更新中计算的值构建新的键值关系.字典的哈希性对于让我在查找时或多或少保持恒定时间至关重要.

                  I'm trying to avoid updating more entries than necessary as well as building new relations of key-value that's based on values that has already been calculated in a series of lookups and updates while comparing values of relations. The dictionarys' hashability is crucial to get me a more or less constant time on lookup.

                  推荐答案

                  这不是通用解决方案,但大致适用于您的示例:

                  This isn't a general solution but roughly works for your example:

                  class DynamicDict(dict):
                      def __getitem__(self, key):
                          value = super(DynamicDict, self).__getitem__(key)
                          return eval(value, self) if isinstance(value, str) else value
                  
                  >>> d = DynamicDict(key1=3, key2=5, key3='key1+key2')
                  >>> d.update({'key2': 6})
                  >>> d['key3']
                  9
                  

                  这篇关于您可以设置依赖于另一个字典条目的字典值吗?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持跟版网!

                  本站部分内容来源互联网,如果有图片或者内容侵犯了您的权益,请联系我们,我们会在确认后第一时间进行删除!

                  相关文档推荐

                  env: python: No such file or directory(env: python: 没有这样的文件或目录)
                  How to evaluate environment variables into a string in Python?(如何在 Python 中将环境变量评估为字符串?)
                  Python - temporarily modify the current process#39;s environment(Python - 临时修改当前进程的环境)
                  Change current process environment#39;s LD_LIBRARY_PATH(更改当前进程环境的 LD_LIBRARY_PATH)
                  Reading and writing environment variables in Python?(在 Python 中读写环境变量?)
                  When to use sys.path.append and when modifying %PYTHONPATH% is enough(何时使用 sys.path.append 以及何时修改 %PYTHONPATH% 就足够了)
                  • <bdo id='FDTFX'></bdo><ul id='FDTFX'></ul>

                    <small id='FDTFX'></small><noframes id='FDTFX'>

                        <tfoot id='FDTFX'></tfoot>
                        <i id='FDTFX'><tr id='FDTFX'><dt id='FDTFX'><q id='FDTFX'><span id='FDTFX'><b id='FDTFX'><form id='FDTFX'><ins id='FDTFX'></ins><ul id='FDTFX'></ul><sub id='FDTFX'></sub></form><legend id='FDTFX'></legend><bdo id='FDTFX'><pre id='FDTFX'><center id='FDTFX'></center></pre></bdo></b><th id='FDTFX'></th></span></q></dt></tr></i><div id='FDTFX'><tfoot id='FDTFX'></tfoot><dl id='FDTFX'><fieldset id='FDTFX'></fieldset></dl></div>
                        <legend id='FDTFX'><style id='FDTFX'><dir id='FDTFX'><q id='FDTFX'></q></dir></style></legend>

                              <tbody id='FDTFX'></tbody>