【问题标题】:Quickly append value to a list [closed]快速将值附加到列表[关闭]
【发布时间】:2012-04-18 18:06:38
【问题描述】:

PHP 有一种非常快速的方法可以将值附加到数组:

$array[] = 'value';

在不需要索引号的情况下,在 python 中执行此操作的最简单方法是什么? 另外,有没有一种简单的方法可以用嵌套在字典中的列表来做到这一点,就像这个 PHP 等价物..

$array['associative'][] = 'value';

【问题讨论】:

  • -0。这有一个非常低的谷歌难度级别。这是官方 Python 教程 (docs.python.org/tutorial)。附加到列表在 3.1.4 节中显示,并在 5.1 节中再次提及。
  • 这有非常低的标签完成难度;)。

标签: python list dictionary


【解决方案1】:
my_list.append(value)

my_dict[key].append(value)

【讨论】:

    【解决方案2】:

    列表 dict 的最佳方式是:

    my_dict.setdefault(key,list()).append(value)
    

    等价于

    if not key in my_dict:
        my_dict[key] = list()
    nested_list = my_dict[key]
    nested_list.append(value)
    

    当 my_dict 键没有任何列表时,这是安全的。

    在较早提出的变体中:

    my_dict[key].append(value)
    

    等价于

    nested_list = my_dict[key]
    nested_list.append(value)
    

    KeyError 如果 my_dict 在 key 处没有项目,将被提升

    但如果 my_dict[key] 没有“附加”方法 AttributeError 将在两种变体中引发

    UPD(重要!):my_dict.setdefault(key,list()) 这样的构造中,即使my_dict 具有key,也会创建list 实例!

    【讨论】:

      【解决方案3】:

      append() 列表方法怎么样?例如,

       myList.append(value)
      

      【讨论】:

        【解决方案4】:
        mylist.append(value)
        

        参见“pydoc 列表”。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2019-11-20
          • 1970-01-01
          • 2014-01-10
          • 2015-11-13
          • 2016-08-01
          • 1970-01-01
          • 2020-11-23
          • 2021-11-09
          相关资源
          最近更新 更多