too many values with string.split

Alain alain.barthe.65 at free.fr
Sat Sep 22 17:32:27 EDT 2007


Shawn Minisall a écrit :
> I'm trying to unpack a list of 5 floats from a list read from a file and 
> python is telling me 5 variables are too many for the string.split 
> statement.  Anyone have any other idea's?  NOTE: the only reason I 
> convert it to a float instead of just leaving it as a string in the loop 
> is because I have to have it printed out as a float besides the names 
> and then the average displayed underneath
> 
> thx
> 
>    #read in data line by line
>    for line in infile:
>        mylist = string.split(line)
>        firstName[counter] = mylist[0]
>        lastName[counter] = mylist[1]
>        grades[counter] = float(mylist[2])
>        print firstName[counter], 
> lastName[counter],":","\t\t",grades[counter]
>        #increment counter
>        counter = counter + 1
> 
>    #calculates and prints average score
>    grades = str(grades)
>    num1, num2, num3, num4, num5 = string.split(grades,",")
>    average = float(num1 + num2 + num3 + num4 + num5) / 5
>    print
>    print "Average:"

As I can see, grades is a string that looks like '[12.0,12.0, ...]'

So you can't split it just with string.split ()

Rather than doing grades = str(grades) and split it,
you have just to do :

avarage = sum (grades) / len (grades)



More information about the Python-list mailing list