On Sun, 1 Jan 2017 02:58 pm, Deborah Swanson wrote: >> It's possible to select either l1 or l2 using an expression, >> and then subscript that with [v]. However, this does not >> usually make for readable code, so I don't recommend it. >> >> (l1 if whatever else l2)[v] = new_value >> >> ChrisA > > I'm not sure I understand what you did here, at least not well enough to > try it.
The evolution of a Python programmer :-) (1) Step One: the naive code. if condition: l1[v] = new_value else: l2[v] = new_value (2) Step Two: add a temporary variable to avoid repeating the assignment if condition: temp = l1 else: temp = l2 temp[v] = new_value (3) Step Three: change the if...else statement to an expression temp = l1 if condition else l2 temp[v] = new_value (4) Step Four: no need for the temporary variable (l1 if condition else l2)[v] = new_value -- Steve “Cheer up,” they said, “things could be worse.” So I cheered up, and sure enough, things got worse. -- https://mail.python.org/mailman/listinfo/python-list