Changing variable to integer
Dustan
DustanGroups at gmail.com
Sun Dec 17 08:58:45 EST 2006
vertigo wrote:
> Hello
>
> I receive such error:
> File "p4.py", line 24, in PrintWordCountFloat
> print "%s %f" % (word,words[word])
> TypeError: list indices must be integers
>
> i call PrintWordCountFloat with hash table, keys are words(string) and
> values float.
> This part of the code:
>
> def PrintWordCountFloat(words):
> number = 0
> for word in words:
> print "%s %f" % (word,words[word]) #line 24
> number = number + 1
> print "Total words: %d" %(number)
>
> My function displays whole table correctly, and after that i receive
> mentioned error.
> Why ? Where is the problem ?
Perhaps you meant something more along the lines of this:
>>> def PrintWordCountFloat(words):
number = 0
for index, word in enumerate(words):
print "%s %f" % (index, word)
number = number + 1
print "Total words: %d" %(number)
>>> PrintWordCountFloat(range(10))
0 0.000000
1 1.000000
2 2.000000
3 3.000000
4 4.000000
5 5.000000
6 6.000000
7 7.000000
8 8.000000
9 9.000000
Total words: 10
Or similar; I can't read your mind. Just know that enumerate(iterable)
yields (index, value) for each item in iterable.
> Thanx
More information about the Python-list
mailing list