如何在main.py中创建包含archive.py所有数组的容器数组以实现遍历?
解决方法
方案一:在archive.py中主动维护数组列表(推荐)
这是最清晰、易维护的方式,后续新增数组时只需同步添加到统一列表中:
修改archive.py:
# archive.py array1 = ['a', 'b', 'c'] array2 = ['x', 'y', 'z'] array3 = [1, 2, 3] # 新增:维护所有数组的容器 all_arrays = [array1, array2, array3]
在main.py中直接导入并使用:
# main.py import archive # 直接使用预先定义好的数组列表 for arr in archive.all_arrays: # 这里调用你的目标函数,比如process_array(arr) print(arr) # 示例操作
方案二:动态遍历模块属性(无需修改archive.py)
如果不想改动archive.py,可以通过模块的__dict__属性筛选出所有列表类型的变量,排除模块内置的特殊属性:
# main.py import archive container = [] # 遍历模块的所有属性 for attr_name, attr_value in archive.__dict__.items(): # 筛选出列表类型,且排除以下划线开头的内置属性 if isinstance(attr_value, list) and not attr_name.startswith('_'): container.append(attr_value) # 遍历容器调用函数 for arr in container: print(arr) # 示例操作
补充优化
如果你的数组变量名有统一规则(比如都以array开头),可以把判断条件改成更精准的匹配:
if isinstance(attr_value, list) and attr_name.startswith('array'):
内容的提问来源于stack exchange,提问作者andy_hopk
相关产品推荐
相关产品推荐

