Anyone has a nice "view_var" procedure ?
Stef Mientki
S.Mientki-nospam at mailbox.kun.nl
Wed Jan 17 17:46:49 EST 2007
hi Gabriel,
> It appears that you're a number crunching guy - you absolutely ignore
> all types except numeric ones! :)
Is there anything else than numbers ? ;-)
But indeed I forgot the else statement, which should look like this:
else:
line = 'UNKNOWN: ' + type(V)
print line
line = ' ' + V.__repr__()
# do something to prevent too long output sequences
print line
>
>
>> # count the occurances of the different types
>> N_int,N_float,N_complex,N_list,N_tuple,N_array,N_unknown =
>> 0,0,0,0,0,0,0
>
> Ouch, seven counters... your guts should be saying that this is
> candidate for a more structured type... what about a dictionary indexed
> by the element type?
> Using a dict:
>
> for item in V:
> t = type(item)
> try: count[t] = count[t]+1
> except IndexError: count[t] = 1
Thanks very much, that's almost perfect, I only had to change IndexError into KeyError.
>
>
> We'll replace all of this with:
>
> for key,value in count:
> line += ' %s=%d' % (key, value)
>
I didn't succeed to use value as a enumerator, and I had to typecast key into a string (and skipping
some redundant information, but then it works great, thanks !!
here the complete listing:
count = {}
for item in V:
t = type(item)
try: count[t] += 1
except KeyError: count[t] = 1
if type(V)==list: line = 'list:'
else: line = 'tuple:'
for key in count: line += ' %s=%d' %('N_'+str(key)[7:-2],count[key])
print line
cheers,
Stef Mientki
More information about the Python-list
mailing list