我有一個函數:如何從Python中的For循環返回值?
def getvalues():
global avalue
global bvalue
dictt = getresults()
for key , value in dictt.iteritems():
avalue = key
bvalue = dictt[key]
print avalue , bvalue
這將打印安勤的價值,bvalue 輸出:
C123 1
C245 2
C456 2
C565 3
C654 1
但是,外面返回值循環不會遍歷over.Like此:
def getvalues():
global avalue
global bvalue
dictt = getresults()
for key , value in dictt.iteritems():
avalue = key
bvalue = dictt[key]
return avalue , bvalue
我需要一個在此函數外部使用的avalue,bvalue。如何做到這一點? 如果我使用回報,我得到的輸出作爲
C654 1
我需要的上述相同的輸出與所有安勤,bvalue,我可以在其他功能使用
你可以用'list'追加說''avalue = [],bvalue = []'並使用像'avalue.append(鍵),bvalue.append(getvalues [鍵])'返回這些,你可以遍歷它們使用外部函數 –
不知道你想要什麼,但這可能是[帶有yield的生成器](https://wiki.python.org/moin/Generators)的情況(第三個代碼示例)。 – Evert
你的代碼毫無意義;它會調用自己,直到Python耗盡堆棧,並且它似乎將該函數的名稱與字典的名稱混淆。請發佈實際運行的代碼,並按照你所說的做。 – kindall