【问题标题】:how to avoid append many times?如何避免追加多次?
【发布时间】:2021-10-20 03:44:38
【问题描述】:

我有一段代码涉及很多append命令,

 items = [a1,a2,a3,a4,a5,a6,a7]
 A_all = []
 for t in range(len(items)):
     A_BS = []
     for i in range(iter):
         idx_BS = np.random.choice(np.shape(items[0])[1], boots)
         corr_atra = get_corr((items[t][:,idx_BS]).T)
         A_BS.append(np.mean(corr_atra))
 A_all.append(np.mean(A_BS)) 

代码所做的是,对于每个数据集a_i 在列之间进行引导并计算相关性,然后在那里得到平均值。有没有办法避免其中一些附加?

【问题讨论】:

    标签: python list loops append


    【解决方案1】:

    您可以将其打包到列表推导中:

    s = np.shape(items[0])[1]
    A_all = [
        [
            np.mean(get_corr(item[:, np.random.choice(s, boots)].T))
            for _ in range(iter)
        ]
        for item in items
    ]
    

    但是:无论iter 是什么都应该有另一个名称,因为iter 是一个内置函数。

    你不使用i - 这是内涵吗?

    【讨论】:

      猜你喜欢
      • 2017-08-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-08-16
      • 2021-10-16
      • 1970-01-01
      • 2020-06-28
      相关资源
      最近更新 更多