gpt4 book ai didi

python - 将列表和字典解压到相同的参数中

转载 作者:行者123 更新时间:2023-11-28 21:40:29 24 4
gpt4 key购买 nike

def foo(l=None, d=None):
return bar(*l, **d) # eg. bar(1, 2, 3, a=a, b=b)

输入:

l = [1, 2, 3]
d = {'a': a, 'b': b}

foo(l=l, d=d)

lNone 时会出现问题,即。这个电话是:

foo(d={'a':a})

我要在 foo 中更改什么才能很好地处理列表和字典中的 NoneType

这很丑陋,必须有比这更好的方法:

def foo(l=None, d=None):
if l is not None and d is not None:
return bar(*l, **d)
if l is not None:
return bar(*l)
if d is not None:
return bar(**d)

最佳答案

您可以使用 将空的可迭代对象短路:

def foo(l=None, d=None):
return bar(*(l or ()), **(d or {}))

或者使它更具可读性,尽管更冗长:

def foo(l=None, d=None):
l = l or ()
d = d or {}
return bar(*l, **d)

关于python - 将列表和字典解压到相同的参数中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45545880/

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