[Python-Dev] [PEP] += on return of function call result (original) (raw)
Luke Kenneth Casson Leighton lkcl@samba-tng.org
Wed, 2 Apr 2003 09:07:26 +0000
- Previous message: [Python-Dev] Python Technical Lead, New York, NY
- Next message: [Python-Dev] [PEP] += on return of function call result
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
example code:
log = {}
for t in range(5):
for r in range(10):
log.setdefault(r, '') += "test %d\n" % t
pprint(log)
instead, as the above is not possible, the following must be used:
from operator import add
... ... ...
add(log.setdefault(r, ''), "test %d\n" % t)
... ARGH! just checked - NOPE! add doesn't work. and there's no function "radd" or "radd" in the operator module.
unless there are really good reasons, can i recommend allowing += on return result of function calls.
i cannot honestly think of or believe that there is a reasonable justification for restricting the += operator.
append() on the return result of setdefault works absolutely fine, which is GREAT because you have no idea how long i have been fed up of not being able to do this in one line:
log = {}
log.setdefault(99, []).append("test %d\n" % t)
l.
- Previous message: [Python-Dev] Python Technical Lead, New York, NY
- Next message: [Python-Dev] [PEP] += on return of function call result
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]