Velocity Reviews - Computer Hardware Reviews

Velocity Reviews > Newsgroups > Programming > Python > too many values with string.split

Reply
Thread Tools

too many values with string.split

 
 
Shawn Minisall
Guest
Posts: n/a
 
      09-22-2007
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:"
 
Reply With Quote
 
 
 
 
Marc 'BlackJack' Rintsch
Guest
Posts: n/a
 
      09-22-2007
On Sat, 22 Sep 2007 17:00:47 -0400, Shawn Minisall wrote:

> 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.


Please post the *real* message which I suspect is something like 'too many
values to unpack', which is the other way around. The 5 names are not
enough to take all the items from the split.

> #read in data line by line
> for line in infile:
> mylist = string.split(line)


Functions in the `string` module that are also available as methods on
strings are deprecated.

> 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


Do you really need the counter? Can't you just append the values to the
lists?

> #calculates and prints average score
> grades = str(grades)
> num1, num2, num3, num4, num5 = string.split(grades,",")
> average = float(num1 + num2 + num3 + num4 + num5) / 5


This is very strange. You have a list of floats (I guess), convert that
list to a string, split that string at commas, concatenate the *strings*
between commas and then try to convert it to a `float`!? This is likely
not what you want and should fail in most cases anyway.

Ciao,
Marc 'BlackJack' Rintsch
 
Reply With Quote
 
 
 
 
Alain
Guest
Posts: n/a
 
      09-22-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)
 
Reply With Quote
 
 
 
Reply

Thread Tools

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are Off


Similar Threads
Thread Thread Starter Forum Replies Last Post
how many hard drives is too many? mattcar Computer Support 6 06-29-2007 01:58 AM
How many warnings is too many? Rhino Java 33 12-22-2005 09:39 PM
How many threads are too many? rbt Python 1 06-11-2005 11:03 PM
How many threads is too many? peelman Java 12 01-15-2005 07:37 AM
Too many (small) vs. too large linked script files in a document... Dag Sunde Javascript 4 12-16-2004 11:38 PM



Advertisments