gpt4 book ai didi

python - 如果列表不存在,如何创建列表,如果存在则添加到列表

转载 作者:行者123 更新时间:2023-12-01 09:12:10 26 4
gpt4 key购买 nike

假设我有一本看起来像这样的字典:

mappings = {"some_key": 3}

或者它看起来像这样:
mappings = {"some_key": [4,5,6]}

假设我在这个函数中有一个值 100 和一个“some_key”的键:
def add_to_mappings(key, value):
if key in mappings:
mappings[key] = ?

如果它存在,我要么想添加到列表中,要么如果不存在,则创建一个。最后,我希望我的映射看起来像:
   mappings = {"some_key": [3, 100]}

或者
   mappings = {"some_key": [4,5,6,100]}

最佳答案

没有 defaultdict :

mappings = dict()

def add_to_mappings(key, value):
try:
mappings[key].append(100)
except KeyError:
mappings[key] = [100]

使用 defaultdict :

from collections import defaultdict

mappings = defaultdict(list)

def add_to_mappings(key, value):
mappings[key].append(value)

编辑: 我误解了最初的要求,如果一个项目已经存在,并从中创建一个列表和新项目,那么第一个示例可以更改为:

mappings = dict(foo=3)

def add_to_mappings(key, value):
try:
mappings[key].append(100)
except KeyError:
mappings[key] = [100]
except AttributeError:
mappings[key] = [mappings[key], value]

add_to_mappings("foo", 5)
# mappings ==> { "foo": [3, 5] }

关于python - 如果列表不存在,如何创建列表,如果存在则添加到列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59257887/

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