我有一个包含2个键值对的dict,一个是列表
dict_special =
{'money' : 100,
'sweets' : ['bonbons','sherbet', 'toffee','pineapple cube']}
我想将第一个值转换为列表,所以我可以附加项目
即
dict_special =
{'money' : [100, 250, 400]
'sweets' : ['bonbons','sherbet', 'toffee','pineapple cube']}
这是我到目前为止所尝试的:
newlist = [dict_special['money']]
newlist.append(250)
dict_special['money'] = newlist
但是我觉得必须有更简洁和Pythonic的方式才能到达那里。 有什么建议吗?
答案 0 :(得分:2)
更简洁的方式来写这个:
newlist = [dict_special['money']]
newlist.append(250)
dict_special['money'] = newlist
......将是:
dict_special['money'] = [dict_special['money'], 250]
但是,值得一看,为什么你要尝试这样做。你是怎么创造这个词典的?也许您应该首先使用[100]
创建它,而不是100
。如果没有,也许您应该有另一个步骤将输入字典(使用100
)转换为您想要使用的字典(使用[100]
),而不是在此处动态执行。也许你甚至想要使用" multidict"而不是直接使用dict。
在不了解您的代码和问题的情况下,很难说,但尝试以临时方式进行这些更改通常表明代码中的其他地方出现了问题。
答案 1 :(得分:0)
怎么样:
newList = {key: value if isinstance(value, list) else [value]
for key, value in dict_special.items()}