用字典概括

2024-06-01 06:15:30 发布

您现在位置:Python中文网/ 问答频道 /正文

我想使用字典来改进和缩短以下函数:

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)

我想到使用以下狙击手:

mydic={'im'+str(i):import_file_astro(filename1) for i in range(1,5) if filename1!=None}

当然,我需要一种循环filename的方法。我曾想过使用exec,但我读到应该避免使用。 任何帮助或建议都将不胜感激


Tags: 函数importnoneloopif字典defastro
1条回答
网友
1楼 · 发布于 2024-06-01 06:15:30
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}

相关问题 更多 >