我试图找到一种更简短的方法来编写代码。
我有20个文件夹,每个文件夹的名称都有不同的值(1 - 20)。
在每个文件夹中都有文本文件,其中包含数字列表。我将一个函数应用于每个列表,然后附加一个numpy列表,20个中的一个,对应于文件夹名称中的数字。
我正试图找到一种方法来附加正确的numpy数组而不必有20' if ... else if'检查文件夹编号的陈述。
这段代码感觉不必要很长,我希望有一个更简洁的方法来实现它。
--------当前的psudocode ------
array_one = []
array_two = []
...
if folder_number == 1:
array_one.append(list_from_folder)
elif folder_number == 2:
array_two.append(list_from_folder)
...
任何建议? (使用python)
答案 0 :(得分:1)
使用字典:
folder_lists = {num: [] for num in range(1, 21)}
这将为您提供一个键:值映射数据结构,其中键(例如1,2,3等)对应于文件夹编号,值是映射到这些键(这些文件夹)的列表:
{1: [], 2: [], 3: [], ..., 20: []}
然后你会说这样的话:
for f in folders:
folder_number = <insert folder number here>
folder_lists[folder_number].append(list_from_folder)