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

J

Jaydeep Patil

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'



Please suggest me solution.
 
R

Rustom Mody

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):
x2 = [x * x for x in seriesxlist1];
TypeError: can't multiply sequence by non-int of type 'tuple'

Please suggest me solution.
x2 = [x * x for (x,) in seriesxlist1]
x2 [0.0, 0.0001, 0.0004, 0.0009, 0.0016, 0.0025000000000000005, 0.0036, 0.004900000000000001, 0.0064, 0.0081, 0.010000000000000002, 0.0121]

1 Why you are making singleton tuples dunno
2 And no need for semicolons in python
 
J

Jaydeep Patil

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.


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];


Traceback (most recent call last):
x2 = [x * x for x in seriesxlist1];
TypeError: can't multiply sequence by non-int of type 'tuple'




Please suggest me solution.

x2 = [x * x for (x,) in seriesxlist1]
x2

[0.0, 0.0001, 0.0004, 0.0009, 0.0016, 0.0025000000000000005, 0.0036, 0.004900000000000001, 0.0064, 0.0081, 0.010000000000000002, 0.0121]



1 Why you are making singleton tuples dunno

2 And no need for semicolons in python


Answer:
1. This tupple, i get it from excel range extraction.
e.g. seriesxlist = newws.Range(newws.Cells(3,2),newws.Cells(usedRows,2)).Value

2. i removed semicolon, still i am facing same error. I am unable to get multiplies values.

Please suggest.
I have input as below tuple only.
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,))
 
D

Dave Angel

Jaydeep Patil said:
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)
 
S

simiasaro

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'







Please suggest me solution.

You may want to identify which of the tuple value you want to multiply, especially since the tuple has only one value:
x2 = [x[0] * x[0] for x in seriesxlist1]

Then, you can add the values in the list:
sum(x2)

or the quickest way:
sum(x[0] * x[0] for x in seriesxlist1)
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Staff online

Members online

Forum statistics

Threads
473,755
Messages
2,569,536
Members
45,012
Latest member
RoxanneDzm

Latest Threads

Top