为了账号安全,请及时绑定邮箱和手机立即绑定

使用字典泛化

使用字典泛化

阿波罗的战车 2021-06-09 07:15:17
我想使用字典改进和缩短以下功能:def loop_solution(filename1=None,filename2=None,filename3=None,filename4=None):    if (filename1!=None): im1=import_file_astro(filename1)    if (filename2!=None): im2=import_file_astro(filename2)    if (filename3!=None): im3=import_file_astro(filename3)    if (filename4!=None): im4=import_file_astro(filename4)我想过使用以下 snipet:mydic={'im'+str(i):import_file_astro(filename1) for i in range(1,5) if filename1!=None}但当然我需要一种方法来遍历filenames。我想过使用,exec但我读过应该避免使用。非常感谢任何帮助或建议。
查看完整描述

1 回答

?
慕仙森

TA贡献1827条经验 获得超7个赞

def loop_solution(filenames):

    files = {}

    for index, filename in enumerate(filenames, start=1):

        if filename is not None:

            files['im' + str(index)] = import_file_astro(filename)

或者,如果你想要它作为一个字典理解


def loop_solution(filenames):

    return {'im'+str(index): import_file_astro(filename) for index, filename in enumerate(filenames, start=1) if filename is not None}



查看完整回答
反对 回复 2021-06-15
  • 1 回答
  • 0 关注
  • 148 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信