title: update ListProperty variable after for loop kivy
body: <p>I am using a for loop to cycle the months of the year and then append them to a list rather than manually type out each month.  </p>
  
  <p>The variable <code>self.mylist</code> updates <code>mylist</code> perfectly fine.<br>
  When <code>for i in range(1,13):</code> is run it updates <code>self.mylist</code> perfectly fine.<br>
  But because <code>self.mylist</code> isn't called again it doesn't update <code>mylist</code> after the for loop. Or so i believe is my issue.</p>
  
  <p>I think this method is necessary because ListProperty cannot be appended to but can be assigned to?<br>
  So my question is after the for loop is run how can i update <code>mylist</code> again with <code>self.mylist</code></p>
  
  <p>The kv file includes only the relevant part of the problem. Which functions as intended, to grab a value from the list and display it with <code>text:</code></p>
  
  <p>.py file</p>
  
  <pre><code>class Telldate(AnchorLayout):
     todayday= ObjectProperty('')
     mylist=ListProperty(['','','','','','',''])
  
     print(mylist)
  
     def __init__(self,*args, **kwargs):
        super().__init__(*args, **kwargs)
        self.todayday=strftime('%A')
        self.mylist= ['this', 'does','work', 'but']
        print(self.mylist)
        for i in range(1,13):
           self.mylist.append(calendar.month_name[i])
        print(self.mylist)
  
  class PlannerApp(App):
   #  def updater(self):
        #      Clock.schedule_interval(self.monthcyclewithglobal, 0.5)      
  
     def build(self):
           return Telldate()
  
  
  if __name__ == '__main__':
      PlannerApp().run()
  </code></pre>
  
  <p>.kv file  </p>
  
  <pre><code>&lt;Telldate&gt;:
      ---------
      -----
      --
      text:root.mylist[3]
  </code></pre>
  
  <p>Things I've tried but don't seem to work.<br>
  so I could define another function and use a return statement.</p>
  
  <pre><code>   def monthcycle(self):
        self.mylist= ['this', 'does','work', 'but']
        print(self.mylist)
        for i in range(1,13):
           self.mylist.append(calendar.month_name[i])
        print(self.mylist)
        return self.mylist
  </code></pre>
  
  <p>Or I could use global variables which doesn't seem to encouraged</p>
  
  <pre><code>   def monthcyclewithglobal():
        global mylist
        mylist= ['this', 'does','work', 'but']
        print(mylist)
        for i in range(1,13):
          mylist.append(calendar.month_name[i])
        print(mylist)
     monthcyclewithglobal() #I am aware this bit is probably terrible code
  </code></pre>
  
  <p><em>Hard coding</em> the months in works fine. But I would like <em>automation</em>.<br>
  Like so</p>
  
  <pre><code>self.mylist= [ 'January', 'February', 'March', 'April', 'May', 'June', 'July', \
                       'August', 'September', 'October', 'November', 'December']
  </code></pre>
  
  <p>kivy V1.10.0 python V3.6.2 using IDLE  V3.6.2
  Thanks for your patience!  </p>
  
  <p>Edit1:
  For clarification this does not work.</p>
  
  <pre><code>   mylist=ListProperty(['','','','','','',''])
     for i in range(1,13):
       mylist.append(calendar.month_name[i])
  </code></pre>
  
  <p>as</p>
  
  <pre><code>AttributeError: 'kivy.properties.ListProperty' object has no attribute 'append'
  </code></pre>