python数组追加值_在python中向整数数组追加一些值

这篇博客通过timeit代码比较了三种将2D Python整数列表转换为1D Numpy数组的方法:直接用Numpy的array和flatten方法、按行追加以及按元素追加。结果显示,直接使用Numpy的array和flatten方法最快速,而逐元素追加的方法效率最低,尤其是在处理大型列表时速度明显变慢。
摘要由CSDN通过智能技术生成

下面是一些timeit代码,比较了将2D Python小整数列表转换为1D Numpy数组的3种不同方法的速度。在

直接的方法是简单地将整个列表传递给Numpy的array函数,然后通过其.flatten方法将生成的2D数组展平为1D。这是grid_to_array采用的方法。在

我测试的其他方法都使用numpy.append函数。grid_rows_to_array逐行生成数组,grid_items_to_array逐项构建它。正如您所猜测的,最后一种方法非常缓慢。即使是10x10的列表,它也比grid_to_array慢50倍左右。对于更大的列表来说,它的速度真的很慢。在#!/usr/bin/env python3

''' Compare the speeds of various functions that convert a

2D integer list to a 1D Numpy array.

See https://stackoverflow.com/q/44512661/4014959

Written by PM 2Ring 2017.06.13

'''

import numpy as np

from timeit import Timer

def make_grid(n):

''' Make a 2D list of integers '''

return [list(range(i, i + n)) for i in range(0, n * n, n)]

# The functions to test

def grid_to_array(g):

''' Create a 2D array from t

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值