title: Tkinter - When adding "row=" to a Label in a for loop, items in list show up over each other
body: <p>Sorry if the title is confusing I don't really know how to word it properly. Hopefully the code below will clear it up.</p>
  <p>When I run the program and I call <code>print_names()</code>, only the last name &quot;Jenny&quot; shows up.</p>
  <p>While if I call the other two functions, all the items in the corresponding list show up.</p>
  <p>However unless I add 'row=' then the different functions print on separate rows.</p>
  <p><img src="https://i.stack.imgur.com/Ln07g.png" alt="screenshot" /></p>
  <p>I want to add <code>row=</code> so I can stop the different functions printing below each other, but if I add it, it causes only the last name to be printed.</p>
  <p>How do I stop this from happening?</p>
  <pre><code>from tkinter import *
  from tkinter.font import BOLD
  
  gui = Tk()
  jnames = [['Jamie','25','Male'],['John','22','Male'],['Jenny','23','Female']]
  
  def quit():
      gui.quit()
  
  def print_names():
      for x in jnames:
          Label(gui, text=((x[0]))).grid(column=0, row=3)
  
  def print_ages():
      for x in jnames:
          Label(gui, text=((x[1]))).grid(column=1)
  
  def print_gender():
      for x in jnames:
          Label(gui, text=((x[2]))).grid(column=2)
  
  def main():
      Button(gui, text='Quit', command=quit).grid(column=1, row=0, sticky=EW)
      Button(gui, text='Print names', command=print_names).grid(column=0, row=1, sticky=EW)
      Button(gui, text='Print age', command=print_ages).grid(column=1, row=1, sticky=EW)
      Button(gui, text='Print gender', command=print_gender).grid(column=2, row=1, sticky=EW)
      Label(gui, text='Name', font=BOLD, width=15).grid(column=0, row=2, sticky=EW)
      Label(gui, text='Age', font=BOLD, width=15).grid(column=1, row=2, sticky=EW)
      Label(gui, text='Gender', font=BOLD, width=15).grid(column=2, row=2, sticky=EW)
      gui.mainloop()
  main()
  </code></pre>