- self._coefficients = OrderedDict()
- for symbol, coefficient in sorted(coefficients,
- key=lambda item: item[0].sortkey()):
- if isinstance(coefficient, Rational):
- coefficient = coefficient.constant
- if not isinstance(coefficient, numbers.Rational):
- raise TypeError('coefficients must be Rational instances')
- self._coefficients[symbol] = coefficient
- if isinstance(constant, Rational):
- constant = constant.constant
- if not isinstance(constant, numbers.Rational):
- raise TypeError('constant must be a Rational instance')
+ self._coefficients = OrderedDict(sorted(coefficients,
+ key=lambda item: item[0].sortkey()))