我正在尝试找到一种更短的方法来编写一些代码。
我有 20 个文件夹,每个文件夹的名称都有不同的值 (1 - 20)。
每个文件夹中都有文本文件,其中包含数字列表。我对每个列表应用一个函数,然后附加一个 numpy 列表(20 个列表之一),与文件夹名称中的数字相对应。
我正在尝试找到一种方法来附加正确的 numpy 数组,而不必使用 20 个“if...else if”语句来检查文件夹编号。
这段代码感觉太长了,我希望有一种更简洁的方法来实现它。
--------当前伪代码------
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)
最佳答案
使用字典:
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)
关于Python - 根据值附加特定的 numpy 数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43069023/