将php代码转换为python将新值附加到di中的同一个键

2024-05-08 16:33:12 发布

您现在位置:Python中文网/ 问答频道 /正文

我知道如何做到这一点的唯一方法是使用php,但我希望在python中得到相同的结果。你知道吗

PHP代码:

<?php
$array = array();
$array['value1'][] = 'new value 1';
$array['value1'][] = 'new value 2';
?>

我有这个密码。你知道吗

array = dict()
array['value 1'] = 'new value 1'
#array['value 1'].append('new value 2') - Error - only works with list

我怎么能做到? 当做。你知道吗


Tags: 方法代码密码onlynewvaluewitherror
3条回答

您可以像这样使用来自collections模块的defaultdict()

import collections

my_dict = collections.defaultdict(list)
my_dict['value1'].append('new value 1')
my_dict['value1'].append('new value 2')

{'value1': ['new value 1', 'new value 2']}

defaultdict()将类型作为参数,每次创建一个新键时,它都会有一个空列表作为值。这对于将列表作为值特别有用。这样就不需要if语句来检查该键是否已经存在。你知道吗

或者可以使用^{}

array = {}
array.setdefault('value 1', []).append('new value 1')
array.setdefault('value 1', []).append('new value 2')
my_dict = {}
my_dict['value1'] = ['new value 1']
my_dict['value1'] += ['new value 2', 'new value 3']

第一行初始化字典,第二行将my_dict['value1']初始化为包含一个元素的列表,最后一行将两个元素添加到此列表。注意+=。你知道吗

注意:如果不知道dict中是否已经存在键'value1',则需要使用另一种方法(谢谢sirpasselot)。如果您不知道它是否存在,请使用:

my_dict['value2'] = my_dict.get('value2', []) + ['new value 4', 'new value 5']

相关问题 更多 >