【问题标题】:Quickly append value to a list [closed]快速将值附加到列表[关闭]
【发布时间】:2012-04-18 18:06:38
【问题描述】:
PHP 有一种非常快速的方法可以将值附加到数组:
$array[] = 'value';
在不需要索引号的情况下,在 python 中执行此操作的最简单方法是什么?
另外,有没有一种简单的方法可以用嵌套在字典中的列表来做到这一点,就像这个 PHP 等价物..
$array['associative'][] = 'value';
【问题讨论】:
标签:
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 列表”。