gpt4 book ai didi

Python 将字典值转换为列表和附加项

转载 作者:太空宇宙 更新时间:2023-11-04 10:49:28 24 4
gpt4 key购买 nike

我有一个名为 dictdict 的字典,它看起来像:

dictdict = { 'key1': {'subkey1': 4, 'subkey2': 7}, 
'key2': {'subkey1': 6, 'subkey2': 8} }

……等等。 dictdict 有几十个键,每个键有几十个子键,每个子键对应一个整数值。

我想将一个列表附加到每个单独的值上,将已经存在的值保留为我的新值列表中的第一项。因此,所需的结果将具有与以前相同的字典结构字典,除了对应于单个整数的子键外,它们将对应于包含整数和字符串的列表(因此包含我的原始值的列表作为第一项由各种整数和字符串)。

我想以这样的方式结束:

dictdict = { 'key1': {'subkey1': [4, 'apple', 37], 
'subkey2': [7, 'orange', 19]},
'key2': {'subkey1': [6, 'kiwi', 76],
'subkey2': [8, 'banana', 29]} }

当我尝试这个时...

#convert each nested value into a one item list
for key in dictdict:
for subkey in dictdict[key]:
dictdict[key][subkey] = [dictdict[key][subkey]]

#now that our values are lists, append some items to the list
dictdict["key1"]["subkey1"].append('a1', a2)

...它几乎可以工作,因为我可以为每个值附加一个列表(万岁!)但是每个列表中的第一项(我的原始值)现在是它自己的一个项目列表(哎呀!)。

所以我最终得到了

dictdict[key1][subkey1]

对应于此

[[4], 'a1', a2]

但我希望它对应于此

[4, 'a1', a2]

此外,它可能没有说,但我是新手。

最佳答案

>>> dictdict = { 'key1': {'subkey1': 4, 'subkey2': 7}, 'key2': {'subkey1': 6, 'subkey2': 8} }
>>> dictdict["key1"]["subkey1"]
4
>>> for v1 in dictdict.values():
... v1.update((k,[v]) for k,v in v1.iteritems())
...
>>> dictdict["key1"]["subkey1"] += ['a1', 'a2']
>>> dictdict["key1"]["subkey1"]
[4, 'a1', 'a2']
>>>

关于Python 将字典值转换为列表和附加项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14867211/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com