通过密钥调用函数更优雅的方式?

时间:2014-04-08 03:36:20

标签: python list function dispatch

我有这个调度字典,我想填充1000个键,大多数绑定到一个功能。 虽然将键分配给不同的功能是未来的要求。 目前,还有比这更好的东西:

  art = json.dumps(work['artist_name'])
  phonenumber = json.dumps(work['From'])
  x = getnewmusic()                                         
  artists = {'drake':x, 'jayz':x, 'nas':x,'lil wayne':x,'schoolboyq':x,
             'kendrick lamar':x, 'j cole':x} 

  if art in artists:
      artists[art](art,phonenumber)

什么是最快,更好的标准做法,未来的问题?

1 个答案:

答案 0 :(得分:1)

为什么不将你的艺术家放在一个列表中并只调用该函数,所有这些似乎都在调用相同的函数,你可以执行以下操作:

def get_new_music(artist, phonenumber):
    #logic to get new music
    pass

art = json.dumps(work['artist_name'])
phonenumber = json.dumps(work['From'])                                        
artists = ['drake', 'jayz', 'nas','lil wayne','schoolboyq', 'kendrick lamar', 'j cole']

if art in artists:
    get_new_music(art, phonenumber)

由于它们似乎都在调用相同的函数,我认为这是一种更简单的方法。