Error

Collapse
This topic is closed.
X
X
 
  • Time
  • Show
Clear All
new posts
  • Amie

    Error

    Hi,

    what does is the meaning of this error: int object is unsubscriptable .
    This is the code that I have written that seems to give me that:

    def render_sideMenu (self, ctx, data):
    def render_dataAge( unit):
    results = [(i[0], i[1]
    ) for i in unit]
    return self.dataTable(["Unit Name", "Current Data Age"],
    results, sortable=True),
    return
    self.enamel.,st orage.getDataAg e(int(self.argu ments[0])).addCallback( render_dataAge)
  • Philip Semanchuk

    #2
    Re: Error


    On Oct 21, 2008, at 9:05 AM, Amie wrote:
    Hi,
    >
    what does is the meaning of this error: int object is unsubscriptable .
    This is the code that I have written that seems to give me that:
    >
    def render_sideMenu (self, ctx, data):
    def render_dataAge( unit):
    results = [(i[0], i[1]
    ) for i in unit]
    return self.dataTable(["Unit Name", "Current Data Age"],
    results, sortable=True),
    return
    self
    .enamel
    .,storage
    .getDataAge(int (self.arguments[0])).addCallback( render_dataAge)
    I can't see all of your code so I'm not sure, but it sounds like
    you're treating a plain int object as if it was a sequence (like a
    list or a tuple). My guess is that "i" in the code above is an int.
    Try this Python code in the interpreter and you'll get the same error:
    >>1[0]
    Traceback (most recent call last):
    File "<stdin>", line 1, in <module>
    TypeError: 'int' object is unsubscriptable
    >>>
    -- OR --
    >>i = 1
    >>i[0]
    Traceback (most recent call last):
    File "<stdin>", line 1, in <module>
    TypeError: 'int' object is unsubscriptable
    >>>

    Comment

    • J. Cliff Dyer

      #3
      Re: Error


      On Tue, 2008-10-21 at 09:34 -0400, Philip Semanchuk wrote:
      On Oct 21, 2008, at 9:05 AM, Amie wrote:
      >
      Hi,

      what does is the meaning of this error: int object is unsubscriptable .
      This is the code that I have written that seems to give me that:

      def render_sideMenu (self, ctx, data):
      def render_dataAge( unit):
      results = [(i[0], i[1]
      ) for i in unit]
      return self.dataTable(["Unit Name", "Current Data Age"],
      results, sortable=True),
      return
      self
      .enamel
      .,storage
      .getDataAge(int (self.arguments[0])).addCallback( render_dataAge)
      >
      I can't see all of your code so I'm not sure, but it sounds like
      you're treating a plain int object as if it was a sequence (like a
      list or a tuple). My guess is that "i" in the code above is an int.
      Try this Python code in the interpreter and you'll get the same error:
      >
      >>1[0]
      Traceback (most recent call last):
      File "<stdin>", line 1, in <module>
      TypeError: 'int' object is unsubscriptable
      >>>
      >
      -- OR --
      >
      >>i = 1
      >>i[0]
      Traceback (most recent call last):
      File "<stdin>", line 1, in <module>
      TypeError: 'int' object is unsubscriptable
      >>>
      >
      Indeed. In other words, unit is a list (or other iterable) of integers.
      It looks like you want it to be a list of tuples of some kind.
      >>unit = [('inch', 4), ('pound', 16), ('yottabyte', 2)]
      >>[i[0] for i in unit]
      ['inch', 'pound', 'yottabyte']

      Comment

      Working...