type of simple object

Pierre Barbier de Reuille pierre.barbier at cirad.fr
Wed Feb 2 08:50:37 EST 2005


Steve Holden a écrit :
> Pierre Barbier de Reuille wrote:
> 
>> ajikoe at gmail.com a écrit :
>>
>>> Thank you guys.
>>>
>>> My function should multiply every element  of a list, for example
>>> "something"
>>> and "something" can be an integer or another list.
>>> If it deals with integer than it is ok, but
>>> If it deals with list than it become false for example list*2 =
>>> listlist, and what I really want is to mutlitply its member.
>>> That's why I need to know the type of my data in "something".
>>
>>
>>
>> As stated by another comment, I would do something like :
>>
>> def multiply(object, factor):
>>   try:
>>     return [ multiply(i,factor) for i in object ]
>>   except TypeError:
>>     return object*factor
>>
>> This function will, recursively multiply a nested list of numbers by 
>> "factor" ...
>>
> As a matter of good practice it's usually considered unwise to shadow 
> names of system types like "dict" and "object", though there wouldn't be 
> any problems in this case except the infinite recursion. Which 
> definitely *would* be a problem.

Oops ... indeed, I usually try not to do so ^_^
That's why I usually use "obj" more than "object" and that most of the 
time I use a name more _on the topic_ ...

Thx for the correction :)

Pierre

> 
> regards
>  Steve



More information about the Python-list mailing list