gpt4 book ai didi

python - 如何使用字典理解从列表中创建和增加字典中的值

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

我正在创建一个简单的函数,它接受一个数字列表并返回一个包含所有奇数和偶数之和的字典。

我可以用传统的 for 做到这一点循环,所以我想知道是否有办法使用字典理解来做同样的事情。我试过了,但我找不到使用 += 来增加推导式中每个值的方法.

这是我的代码,带有 for环形:

def sum(a):
results = {"even":0, "odd":0}
for val in a:
if val % 2 == 0:
results["even"] += val
elif val % 2 != 0:
results["odd"] += val

这是我使用字典理解的尝试:
def sum(a):
results = {even:+=x if x % 2 == 0 else "odd" for x in a}

最佳答案

没有办法有效地实现这一点。它可以是一个内衬,但随后您将进行两次迭代而不是一次:

def sum_odd_even(a):
return {'odd': sum(x for x in a if x % 2), 'even': sum(x for x in a if x % 2 == 0)}

你最好按照你现在的方式去做。话虽如此,不要命名函数 sum .它是一个内置函数。

你最好循环你现在的样子,因为它只需要一次迭代:
def sum_odd_even(a):
results = {"even":0, "odd":0}
for val in a:
if val % 2 == 0:
results["even"] += val
else:
results["odd"] += val

关于python - 如何使用字典理解从列表中创建和增加字典中的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58957085/

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