我寫了一個簡單的函數來從字符串中檢索三個輸出。當我想在其他函數中使用返回值時,順序會改變。 例如:爲什麼有時函數的返回值的順序因python而異?
def parsetrack2(trackstr):
cardnumber, date = trackstr.split('=')
expiryyear = date[0:2]
expirymonth = date[2:4]
return{cardnumber,expiryyear,expirymonth}
當我想通過cardnumber
和expiryyear
給另一個函數,有時訂購改變,有時候它是正確的?這是爲什麼?
我應該如何改變它以防止這種變化?
其實,你正在返回一個集合,它也沒有順序。 – zemekeneng
這不是'dict',它是'set'。另外,通常,當返回多個值時,我通常不會打擾父親;我在創建數據結構時使用了parens,但在這種情況下,Python將多個返回值作爲「元組」實現是無關緊要的(調用者應該將其解包),所以我只是用'返回cardnumber,epxiryyear,epxirymonth' – ShadowRanger