Here's the question you clicked on:

55 members online
  • 0 replying
  • 0 viewing

Richard_C

  • 2 years ago

Is tuple and list compatible? Normally, you can not add a tuple with a list. e.g. >>> a = [1,2] >>> b = (1,2) >>> c = a + b >>> TypeError! But in this class, a tuple + a list = a list! ??? class inteSet: def __init__(self, *number): self.lst = [1] print type(number) self.lst += number print type(self.lst) def insert(self,e): self.lst.append(e) print self.lst newNum = inteSet(23, 34) newNum.insert(3)

  • This Question is Closed
  1. bwCA
    • 2 years ago
    Best Response
    You've already chosen the best response.
    Medals 1

    the += operator must iterate over the (right side) expression if it is a sequence - behavior similar to extend ``` >>> a = [1] >>> b = (1,2) >>> a += b >>> a [1, 1, 2] >>> a = a + b Traceback (most recent call last): File "<pyshell#77>", line 1, in <module> a = a + b TypeError: can only concatenate list (not "tuple") to list >>> a.append(b) >>> a [1, 1, 2, (1, 2)] >>> a.extend(b) >>> a [1, 1, 2, (1, 2), 1, 2] >>> ```

  2. Richard_C
    • 2 years ago
    Best Response
    You've already chosen the best response.
    Medals 0

    You are right. Looks like 'self +=' is more than just 'self = self +' same thing with the operator .iadd - similar to a.externd(b). >>> import operator >>> z = operator.iadd(a, b)

  3. Not the answer you are looking for?
    Search for more explanations.

    • Attachments:

Ask your own question

Sign Up
Find more explanations on OpenStudy
Privacy Policy