Frank Millman wrote:
There are two operations I might perform on the dictionary -
1. iterate over the keys and retrieve the values
2: use 'in' to test if a given string exists as a key
Both of these operations will work on a tuple and give the desired result,
so it is a very valid workaround.
Although if I were reviewing a function like that,
it would probably make me pause for a moment or two
to consider why a tuple was being used as a value
for a parameter that is ostensibly supposed to be
a dict, and convince myself that it was okay.
The absolutely clearest way to write it would
probably be
def f(things = None):
"things is a mapping of stuff to be operated on"
if things:
for key in things:
value = things[key]
...
A default value of None is a well-established idiom
for "this parameter is optional", and "if x:" is
idiomatic for "if I've been given an x", so writing it
that way has the best chance of passing the "pretty much
what you expect" test for good code. :-)
--
Greg
--
https://mail.python.org/mailman/listinfo/python-list