TypeError: can't multiply sequence by non-int of type 'tuple'

Dave Angel davea at davea.name
Fri Feb 21 06:28:14 EST 2014


 Jaydeep Patil <patil.jay2009 at gmail.com> Wrote in message:
> HI,
> 
> I have a tuple. I need to make sqaure of elements of tuple and after that i want add all suared tuple elements for total. When i trying to do it, below error came.
> 
> 
> Code:
> seriesxlist1 = ((0.0,), (0.01,), (0.02,), (0.03,), (0.04,), (0.05,), (0.06,), (0.07,), (0.08,), (0.09,), (0.1,), (0.11,))
> 
> x2 = [x * x for x in seriesxlist1];
> 
> Error:
> Traceback (most recent call last):
>   File "<pyshell#188>", line 1, in <module>
>     x2 = [x * x for x in seriesxlist1];
> TypeError: can't multiply sequence by non-int of type 'tuple'
> 

The cause of the error is easy enough.

(0.0,) * (0.0,) is undefined.  It's unclear however what you
 actually intended because the problem is incompletely specified.
 

Start with python version.  I'll assume 3.3.

Next show us what result you actually expect. Can we assume all
 tuples will have a single element in them? Are you looking to
 flatten both list and tuples,  and get a single float
 sum?

Wild guess:

x2 = [x[0]* x[0] for x in seriesxlist1];
res = sum (x2)

-- 
DaveA




More information about the Python-list mailing list