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

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

    <tfoot id='xELU1'></tfoot>

    • <bdo id='xELU1'></bdo><ul id='xELU1'></ul>

      列表的 defaultdict 等效项

      时间:2023-11-08
    1. <legend id='G96RM'><style id='G96RM'><dir id='G96RM'><q id='G96RM'></q></dir></style></legend>

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

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

              <tfoot id='G96RM'></tfoot>

              1. 本文介绍了列表的 defaultdict 等效项的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着跟版网的小编来一起学习吧!

                问题描述

                有没有你如何构建一个相当于 python 的非常有用的 collections.defaultdict?

                Is thereHow would you build an equivalent of python's very useful collections.defaultdict?

                这样一个容器的想象用法:

                Imagined usage of such a container:

                >>> a = collections.defaultlist(0)
                >>> a[2]=7
                >>> a[4]='x'
                >>> a
                [0,0,7,0,'x']
                

                更新:我添加了一个跟进问题a> 为这个结构添加更多功能

                UPDATE: I've added a follow up question to add even more functionality to this construct

                推荐答案

                我觉得这样用起来会有点混乱;但是,这是我对如何做到这一点的第一个想法:

                I think this would be a bit confusing to use; however, here's my first thought on how to do it:

                class defaultlist(list):
                    def __init__(self, fx):
                        self._fx = fx
                
                    def __setitem__(self, index, value):
                        while len(self) <= index:
                            self.append(self._fx())
                        list.__setitem__(self, index, value)
                

                这需要一个可调用的(我认为 defaultdict 就是这样工作的)作为默认值.

                This takes a callable (I think that's how defaultdict works) for the default value.

                当我跑步时:

                a = defaultlist(int)
                print a
                a[2] = 7
                a[4] = 'x'
                print a
                

                我回来了:

                []
                [0, 0, 7, 0, 'x']
                

                这篇关于列表的 defaultdict 等效项的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持跟版网!

                上一篇:带有 python3、chromedriver、chrome &amp; 的 Docker 镜像硒 下一篇:获取 python docker 容器与 redis docker 容器交互

                相关文章

                <tfoot id='XXB7v'></tfoot>

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

                1. <legend id='XXB7v'><style id='XXB7v'><dir id='XXB7v'><q id='XXB7v'></q></dir></style></legend>

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

                      <bdo id='XXB7v'></bdo><ul id='XXB7v'></ul>