Я написал простую функцию для извлечения трех выходов из строки. Когда я хочу использовать возвращаемое значение в других функциях, порядок изменяется. Например:Почему иногда порядок возвращаемого значения функцией изменяется в 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; Я использую parens, когда я создаю структуру данных, но в этом случае тот факт, что Python реализует несколько возвращаемых значений как 'tuple', не имеет значения (вызывающий должен распаковывать их в любом случае), поэтому я бы просто пошел с' return cardnumber, epxiryyear, epxirymonth' – ShadowRanger