title: Removing labels created by a function in tkinter
body: <p>I have a function that produces labels and uses .place() to put them onto the window. Although later in my program I wish to remove these labels. how would I use the  .place_forget() to hide all of the labels? As I have attempted to call the .place_forget() however only one of the labels is removed. And there are several labels of this kind.</p>
  
  <p>Here is the function that produces the labels:</p>
  
  <pre><code>def playerTab(team, name, pos, pts, reb, ast, stl, blk, to, y):
      global playerTeam, playerName, playerPosition, playerPoints, playerRebounds, playerAssists, playerSteals, playerBlocks, playerTurnovers
      #Print the team
      playerTeam = Label(statWindow, bg = "white", text = team)
      playerTeam.config(height = 1, width = 13)
      playerTeam.place(x=20,y=y)
      #Print the name
      playerName = Label(statWindow, bg = "white", text = name)
      playerName.config(height = 1, width = 25)
      playerName.place(x=119,y=y)
      #Print the players position
      playerPosition = Label(statWindow, bg = "white", text = pos)
      playerPosition.config(height = 1, width = 4)
      playerPosition.place(x=302,y=y)
      #Print the players average points
      playerPoints = Label(statWindow, bg = "white", text = pts)
      playerPoints.config(height = 1, width = 4)
      playerPoints.place(x=338,y=y)
      #Print the players average rebounds
      playerrebounds = Label(statWindow, bg = "white", text = reb)
      playerrebounds.config(height = 1, width = 4)
      playerrebounds.place(x=374,y=y)
      playerAssists = Label(statWindow, bg = "white", text = ast)
      playerAssists.config(height = 1, width = 4)
      playerAssists.place(x=410,y=y)
      playerSteals = Label(statWindow, bg = "white", text = stl)
      playerSteals.config(height = 1, width = 4)
      playerSteals.place(x=446,y=y)
      playerBlocks = Label(statWindow, bg = "white", text = blk)
      playerBlocks.config(height = 1, width = 4)
      playerBlocks.place(x=482,y=y)
      playerTurnovers = Label(statWindow, bg = "white", text = to)
      playerTurnovers.config(height = 1, width = 4)
      playerTurnovers.place(x=518,y=y)
  </code></pre>
  
  <p>The code is pretty repetitive but that is not a problem for me at this stage. Although I would also welcome ways of making this more efficient.
  This function then uses the previous to produce many labels:</p>
  
  <pre><code>def sortByPoints():
      foundPlayers = []
      with open ('PlayerList.csv') as csvfile:
          reader = csv.DictReader(csvfile)
          for row in reader:
              foundPlayers.append((int(row['Average PTS']), int(row['PlayerCode'])))
      sortedPlayers = sorted(foundPlayers, reverse=True)
      print(sortedPlayers)
      for i in range(len(sortedPlayers)):
          with open ('PlayerList.csv') as csvfile:
              reader = csv.DictReader(csvfile)
              for row in reader:
                  if row['PlayerCode'] == str(sortedPlayers[i][1]):
                      print(sortedPlayers[i][1])
                      playerTab(row['Team'], (row['First Name'] + row['Last Name']), row['Position'], row['Average PTS'], row['Average REB'], row['Average AST'], row['Average STL'], row['Average BLK'], row['Average TO'], (120 + (i * 25)))
  </code></pre>
  
  <p>How would I then hide all of the labels produced. Or is it not possible to do with the approach that I have made?
  I am using python 3.4</p>