python – 有可能像返回一样产生两件事吗?

python – 有可能像返回一样产生两件事吗?,第1张

概述def foo(choice): for i in limit: d1 = doSomeCalc() d2 = doSomeOtherCalc() if choice == "stuff": yield { d1 : "value" } else:
def foo(choice):    for i in limit:        d1 = doSomeCalc()        d2 = doSomeOtherCalc()        if choice == "stuff":            yIEld {                d1 : "value"            }        else:            yIEld {                d2 : "Othervalue"            }

我有一个函数,根据用户的选择产生两种类型的字典

def bar():    for i in limit:        d1 = doSomeCalc()        d2 = doSomeOtherCalc()        return {d1 : "value"},{d2 : "Othervalue"}a,b = bar() // when function returns two dictionarIEs

就像返回一样,我可以使用yIEld一次给出两个不同的词典吗?我如何获得每个价值?

我现在不想在我的函数中保留if-else.

解决方法 您一次只能生成一个值.迭代生成器将依次产生每个值.

def foo():  yIEld 1  yIEld 2for i in foo():  print i

和往常一样,价值可以是一个元组.

def foo():  yIEld 1,2for i in foo():  print i
总结

以上是内存溢出为你收集整理的python – 有可能像返回一样产生两件事吗?全部内容,希望文章能够帮你解决python – 有可能像返回一样产生两件事吗?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1193285.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-03
下一篇 2022-06-03

发表评论

登录后才能评论

评论列表(0条)

保存