ycbb000 2024-12-14 21:10 采纳率: 75%
浏览 21
已结题

python如何循环调取规律性名称的数据

python如何循环调取规律性名称的数据
类似于下面这样,有一批数据,名称是a_1,a_2,a_N这样,想在循环中调用“a_{i}[x, y]”,这句应该怎么实现?

import numpy as np

a_1 = np.array([[2, 5, 8, 10],[2, 5, 6, 4]])
a_2 = np.array([[3, 6, 7, 9],[3, 6, 8, 7]])
a_3 = np.array([[1 ,4, 8, 9],[5, 4, 8, 2]])

for x in range(2):
    for y in range(4):
        for i in range(3):
            b = a_{i}[x, y]
            # 处理数据.....

  • 写回答

15条回答 默认 最新

  • 叫兽-郭老师 Java领域新星创作者 2024-12-14 21:13
    关注

    🕗晚上好,题主!目前:🟢[在线]
    📢参考通义千问、由郭老师整理提供!
    📣今日诗号:七弦抚尽,何处觅知音,但向朗月空林。翰墨残迹,谁得千秋理,且听松涛竹意。

    在Python中,直接通过变量名进行动态访问通常是不可行的。但是,你可以使用字典或全局变量来达到这个目的。下面是两种不同的方法:

    方法一:使用字典

    你可以将这些数组存储在一个字典中,然后通过键来访问它们。

    import numpy as np
    
    # 创建一个字典来存储数组
    data_dict = {
        'a_1': np.array([[2, 5, 8, 10], [2, 5, 6, 4]]),
        'a_2': np.array([[3, 6, 7, 9], [3, 6, 8, 7]]),
        'a_3': np.array([[1, 4, 8, 9], [5, 4, 8, 2]])
    }
    
    # 循环遍历并处理数据
    for x in range(2):
        for y in range(4):
            for i in range(1, 4):  # 注意索引从1开始
                key = f'a_{i}'
                if key in data_dict:
                    b = data_dict[key][x, y]
                    print(f"b = {b}")
                    # 在这里处理数据...
    

    方法二:使用全局变量

    如果你确实需要使用全局变量,可以利用 globals() 函数来访问全局变量。

    import numpy as np
    
    # 定义全局变量
    a_1 = np.array([[2, 5, 8, 10], [2, 5, 6, 4]])
    a_2 = np.array([[3, 6, 7, 9], [3, 6, 8, 7]])
    a_3 = np.array([[1, 4, 8, 9], [5, 4, 8, 2]])
    
    # 循环遍历并处理数据
    for x in range(2):
        for y in range(4):
            for i in range(1, 4):  # 注意索引从1开始
                key = f'a_{i}'
                b = globals()[key][x, y]
                print(f"b = {b}")
                # 在这里处理数据...
    

    注意事项

    1. 变量命名和索引:在上述示例中,变量名从 a_1a_3,因此索引范围是从 13
    2. 数据处理:在循环体中,你可以根据需要对 b 进行处理。
    3. 可读性和维护性:使用字典的方法通常更推荐,因为它更具可读性和可维护性。

    希望这些方法对你有帮助!

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(14条)

报告相同问题?

问题事件

  • 系统已结题 12月22日
  • 已采纳回答 12月14日
  • 赞助了问题酬金15元 12月14日
  • 创建了问题 12月14日

悬赏问题

  • ¥15 宇视监控服务器无法登录
  • ¥15 PADS Logic 原理图
  • ¥15 PADS Logic 图标
  • ¥15 电脑和power bi环境都是英文如何将日期层次结构转换成英文
  • ¥15 DruidDataSource一直closing
  • ¥20 气象站点数据求取中~
  • ¥15 如何获取APP内弹出的网址链接
  • ¥15 wifi 图标不见了 不知道怎么办 上不了网 变成小地球了
  • ¥50 STM32单片机传感器读取错误
  • ¥50 power BI 从Mysql服务器导入数据,但连接进去后显示表无数据