title: How to return the nth value of a Dict?
body: <p>I have this dict for example and i wish to return the nth value of it  </p>
  
  <pre><code>d = {'Hello':4, 'World':17, 'Hi':2, 'Again':46}
  </code></pre>
  
  <p><strong>Note:</strong> I know that dicts are unordered, and i don't care i just want to return all the keys one after the other.<br>
  In my program I just want to make calculations with the values, and the keys will be a user input so we don't know the keys.<br>
  How can i return the nth value in this dict like this?<br>
  Hereis the full code of y progam, error is located in 2nd def function, on line 23</p>
  
  <pre><code>#Subroutines
  def dumptodaydate():
   import pickle
   with open('LastOpenDate.txt', 'wb') as DOT:
    import time
    ODate = time.strftime('%d')
    OMonth = time.strftime('%m')
    OYear = time.strftime('%Y')
    List = {'Day':ODay, 'Month':OMonth, 'Year':OYear}
    pickle.dump(List, DOT)
  
  
  def caltimelefttask():
   import pickle
   with open('LastOpenDate.txt', 'rb') as LOD:
    List = pickle.load(LOD)
   from datetime import date
   Today = date.today()
   ODay = List['Day']
   OMonth = List['Month']
   OYear = List['Year']
   DifDay = (Today(eval(OYear),eval(OMonth), eval(ODay)).days
   for key in Lesson:
    OTimetask = Lesson[key]['TimeLeftTask']
    TimeLeft = OTimetask - DifDay
    Rating = Rating + (TimeLeft * 2)
    if Timeleft == 0 and OTimetask &gt; 3:
     Rating = Rating + 100
    elif OTimetask &gt; 0 and TimeLeft == 0:
     Rating = Rating + 50
    elif OTimetask &gt; 4 and imeLeft == 0 and OTimetask != 0:
     Rating = Rating + 50
    Lesson[key]['Rating'] = Rating
  
    for key in Exercises.keys():
    OTimetask = Exercises[key]['TimeLeftTask']
    TimeLeft = OTimetask - DifDay
    Rating = Rating + (TimeLeft * 2)
    if Timeleft == 0 and OTimetask &gt; 3:
     Rating = Rating + 100
    elif OTimetask &gt; 0 and TimeLeft == 0:
     Rating = Rating + 50
    elif OTimetask &gt; 4 and imeLeft == 0 and OTimetask != 0:
     Rating = Rating + 50
    Exercises[key]['Rating'] = Rating
  
   for key in Assignment.keys():
    OTimetask = Assignment[key]['TimeLeftTask']
    TimeLeft = OTimetask - DifDay
    Rating = Rating + (TimeLeft * 2)
    if Timeleft == 0 and OTimetask &gt; 3:
     Rating = Rating + 100
    elif OTimetask &gt; 0 and TimeLeft == 0:
     Rating = Rating + 50
    elif OTimetask &gt; 4 and imeLeft == 0 and OTimetask != 0:
     Rating = Rating + 50
    Assignment[key]['Rating'] = Rating
  
  
  def loadtxt():
   import pickle
  
   with open('LessonOut.txt', 'rb') as Li:
    Lesson = pickle.load(Li)
  
   with open('ExercisesOut.txt', 'rb') as Ei:
    Exercises = pickle.load(Ei)
  
   with open('AssignmentOut.txt', 'rb') as Ai:
    Assignment = pickle.load(Ai)
  
  
  def ADD():
   print('Name of task? (Keep it short for convenience Example: Math1)\n(Must be diferent from any other non deleted tasks)')
   Name = input('&gt;&gt;&gt;')
   print('Description of task? (this can be as long as you want)')
   Desc = input('&gt;&gt;&gt;')
   print('Rate the time it takes you to do the task on a scale from 1 to 20')
   Time = input('&gt;&gt;&gt;')
   print('Rate the importance of the task on a scale from 1 to 20')
   Imp = input('&gt;&gt;&gt;')
   print('Rate how much you want to do it on a scale from 1 to 5 \n(1= want to do it, 5= don\'t want to')
   Want = input('&gt;&gt;&gt;')
   print('enter deadline (day)')
   TimeDay = input('&gt;&gt;&gt;')
   print('enter deadline (month)')
   TimeMonth = input('&gt;&gt;&gt;')
   print('enter deadline(year)')
   TimeYear = input('&gt;&gt;&gt;')
   print('what type of homework is it? (Lesson/Exercises/Assignment)')
   TaskType = input('&gt;&gt;&gt;')
  
  
   from datetime import date
   Today = date.today()
   TaskForDate = date(eval(TimeYear), eval(TimeMonth), eval(TimeDay))
   TimeLeftTemp = abs((TaskForDate - Today).days)
   print ('You have', TimeLeftTemp, 'days to finish this task.')
  
   Rating = eval(Time) + eval(Imp) + eval(Want) - (TimeLeftTemp * 2)
   if TimeLeftTemp &lt; 4:
    Rating = Rating + 50
   if TimeLeftTemp &lt;= 0:
    Rating = Rating + 50
  
   if TaskType == 'Lesson':
    Lesson[Name] = {'Rating':Rating, 'Desc':Desc, 'TimeLeftTask':TimeLeftTemp}
   if TaskType == 'Exercises':
    Exercises[Name] = {'Rating':Rating, 'Desc':Desc, 'TimeLeftTask':TimeLeftTemp}
   if TaskType == 'Assignment':
    Assignment[Name] = {'Rating':Rating, 'Desc':Desc, 'TimeLeftTask':TimeLeftTemp}
  
  
  def DEL():
   print ('What type of task is it? \nLesson, Exercises or Assignment)')
   WhatDict = input('&gt;&gt;&gt;')
   if WhatDict == Lesson:
    print(Lesson.keys())
  
   if WhatDict == Exercises:
    print(Exercises.keys())
  
   if WhatDict == Assignment:
    print(Assignment.keys())
  
   print ('What task do you want do delete?')
   WhatDel = input('&gt;&gt;&gt;')
  
   if WhatDict == 'Lesson':
    try:
     del Lesson[WhatDel]
    except:
     pass
  
   elif WhatDict == 'Exercises':
    try:
     del Exercises[WhatDel]
    except:
     pass
  
   elif WhatDict == 'Assignment':
    try:
     del Assignment[WhatDel] 
    except:
     pass
     pass
  
   else:
    print('Sorry, the type of task is not recognised, please try again.')
  
  
  def sort_by_subdict(dictionary, subdict_key):
   return sorted(dictionary.items(), key=lambda k_v: k_v[1][subdict_key])
  
  
  def SHOW():
   ShowWhat = input('What type of task do you want to do?\nLesson/Exercises/Assignment)\n&gt;&gt;&gt;')
   if ShowWhat == 'Lesson' or 'lesson':
    print (sort_by_subdict(Lesson, 'Rating'))
  
   elif ShowWhat == 'Exercises' or 'exercises':
    print (sort_by_subdict(Exercises, 'Rating'))
  
   elif ShowWhat == 'Assignment' or 'assignment':
    print (sort_by_subdict(Assignment, 'Rating'))
  
   else:
    print('Type of task not recognosed, please try again')
  
  
  def dumptxt():
   import pickle
  
   with open('LessonOut.txt', 'wb') as Lo:
    pickle.dump(Lesson, Lo)
  
   with open('ExercisesOut.txt', 'wb') as Eo:
    pickle.dump(Exercises, Eo)
  
   with open('AssignmentOut.txt', 'wb') as Ao:
    pickle.dump(Assignment, Ao) 
  
  
  loadtxt()
  
  
  while True:
   print ('WARNING NEVER EXIT PROGRAM WITHOUT USING THE quit COMMAND,\nOR ALL ACTIONS DONE WILL BE LOST')
   print ('Commands:')
   print ('add (to add a task)')
   print ('del (to delete a task)')
   print ('quit (to exit program)')
   print ('show (to see your tasks)')
   Input = input('&gt;&gt;&gt;')
  
  
   if Input == 'add':
    ADD()
  
  
   elif Input == 'del':
     DEL()
  
  
   elif Input == 'show':
    SHOW()
  
   elif Input == 'quit':
    print ('are you sure you want to quit? y/n')
    Input = input('&gt;&gt;&gt;')
    if Input == 'y':
     dumptxt()
     quit()
    elif Input == 'n':
     print ('Not exiting')
    else: 
     print ('Error, command not recognised')
  </code></pre>
  
  <p>This gives me a syntax error:</p>
  
  <pre><code>for key in Lesson:
  #syntax error    ^
  #              here
  </code></pre>