2015-11-22 2 views
0

Я пытаюсь найти ключ в словаре песен. Они являются названиями песен, а значение - длительностью песни. Я хочу найти песню в словаре, а затем распечатать эту песню и ее время. Я выяснил поиск песни, но не могу вспомнить, как вывести ее ценность. Вот что я сейчас имею.Поиск ключа в словаре и печать ключа и его значение

def getSongTime(songDictionary): 
    requestedSong=input("Enter song from playlist: ") 
    for song in list(songDictionary.keys()): 
     if requestedSong in songDictionary.keys(): 
      print(requestedSong,value) 

ответ

6

There'no необходимость перебирать ключи словаря - быстрый поиск является одной из основных причин для использования словаря вместо кортежа или списка.

С Try/за исключением:

def getSongTime(songDictionary): 
    requestedSong=input("Enter song from playlist: ") 
    try: 
     print(requestedSong, songDictionary[requestedSong]) 
    except KeyError: 
     print("Not found") 

С get методом Словаря по:

def getSongTime(songDictionary): 
    requestedSong=input("Enter song from playlist: ") 
    print(requestedSong, songDictionary.get(requestedSong, "Not found")) 
2

Я не думаю, что с помощью попробовать поймать хорошо для этой задачи. Просто используйте оператор in

requestedSong=input("Enter song from playlist: ") 
if requestedSong in songDictionary: 
    print songDictionary[requestedSong] 
else: 
    print 'song not found' 

И я настоятельно рекомендую вам прочитать эту статью http://www.tutorialspoint.com/python/python_dictionary.htm
Также проверьте эти вопросы тоже: check if a given key exists in dictionary
try vs if

Смежные вопросы