精华内容
下载资源
问答
  • Python初始化数组及注意事项 初始化维数组 #方法 # 0为数组内初始数据,10位数据长度 list = [0]*10 print(list) # 结果:[0, 0, 0, 0, 0, 0, 0, 0, 0, 0] #方法二 list2 = [0 for i in range(10)] ...

    Python初始化数组及注意事项

    • 初始化一维数组

    #方法一
    # 0为数组内初始数据,10位数据长度
    list = [0]*10  
    print(list)
    # 结果:[0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
    
    #方法二
    list2 = [0 for i in range(10)]
    print(list2)
    # 结果:[0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
    
    

     

    • 初始化二维数组

    #方法一
    a = [list()] * 3
    for i in range(3):
        a[i].append(0)
    print(a)
    # 结果:[[0,0,0], [0,0,0], [0,0,0]]
    a[0][0] = 1
    print(a)
    # 结果:[[1,0,0], [1,0,0], [1,0,0]]
    
    
    #方法二
    a = [[0 for i in range(3)] for i in range(3)]
    print(a)
    # 结果:[[0,0,0], [0,0,0], [0,0,0]]
    a[0][0] = 1
    print(a)
    # 结果:[[1,0,0], [0,0,0], [0,0,0]]
    
    

    原因:参见https://blog.csdn.net/qq_41602595/article/details/88688644

    二维情形就不同,因为初始化指定长度的二维list时,我们需要把空序列list()复制n次。如果采用方式一,则对list进行浅拷贝,每一个list调用append等方法时,所有list都会同步调用;而方式二这种python风格的数组comprehension表达式方式,则生成了n个相互独立的list对象,此时每行的list之间互不影响。显然,我们应该使用方式二来进行二维list的指定行数的初始化。
     

    展开全文
  • python初始化二维数组的小问题

    千次阅读 2017-06-10 16:49:26
    python二维数组初始化问题 引子:今天在写用Python写01背包的算法课作业时,发现一个关于二维...以如下方式初始化一个二维数组,在使用的过程中有没有问题? matrix = [[0] * n] * m 有问题!可以做个实验: >>> m

     

    python二维数组初始化问题

    引子:今天在用Python写01背包的算法课作业时,发现一个关于二维数组的小问题,本来期末已经很忙了,但这个问题还是值得记录下来的,因为这不是第一次遇到了,这次花了将近一个小时才搞明白。

    问题:

    以如下方式初始化一个二维数组,在使用的过程中有没有问题?

    matrix = [[0] * n] * m

    有问题!可以做个实验:

    >>> m = 3
    >>> n = 4
    >>> matrix = [[0] * n] * m
    >>> matrix
    [[0, 0, 0, 0], [0, 0, 0, 0], [0, 0, 0, 0]]
    >>> matrix[1][2] = 1
    >>> matrix
    [[0, 0, 1, 0], [0, 0, 1, 0], [0, 0, 1, 0]]
    >>>

    可以看出,我只修改了matrix[1][2]这一个元素,但从结果来看,matrix这个二维数组的每一个一维数组的第3个(下标为2)元素都被修改了。对此我的理解是:在申请matrix数组时,“[0] * n”这个一维数组可能只申请了一个,“ * m”这操作,只是创建了m个指向“[0] * n”的引用,因此,若修改这个一维数组中的元素,则matrix中m个一位数组都会被修改。 更详细解释可以参考此篇博客在python中定义二维数组

    解决方案:

    换种初始化的方式:

    >>> matrix = [[0] * n for i in range(0, m)]
    >>> matrix
    [[0, 0, 0, 0], [0, 0, 0, 0], [0, 0, 0, 0]]
    >>> matrix[1][2] = 1
    >>> matrix
    [[0, 0, 0, 0], [0, 0, 1, 0], [0, 0, 0, 0]]
    >>>

    可以看出,上述那种我们想要避免的情况已经不再出现了。

    参考文献

    1.在python中定义二维数组,woshare,博客园,http://www.cnblogs.com/woshare/p/5823303.html。

     

    展开全文
  • python初始化二维数组

    千次阅读 2016-10-11 14:39:50
    array = [[0 for col in range(num1)] for row in range(num2)] num1, num2 为自选常量

    array = [[0 for col in range(num1)] for row in range(num2)]

    num1, num2 为自选常量

    展开全文
  • python初始化一个以二维数组为元素的一维数组

    python中初始化一个以二维数组为元素的一维数组,或者说想把多个用来表示图片的数组存到一个序列或数组中,可以用下面的方法

    Picture=[[],[]]*50

    这样就可以Picture[i]=im1,

    展开全文
  • 1.使用for循环 N = 100 b = [0 for _ in range(N)] b = [None for _ in range(N)] 2.直接乘法 N = 100 b = [0] * 100 b = [None] * 100 ...注意:个人觉得初始化为 None 会更好,毕竟为空值。
  • Python初始化一个5 x 3每项为0的数组,最好方法是: multilist = [[0 for col in range(5)] for row in range(3)]我们知道,为了初始化一个一维数组,我们可以这样做: alist = [0] * 5没错,那我们...
  • python中如何初始化一个数组

    千次阅读 2020-07-07 12:19:37
    v={'P'} y_pred_str=[v for i in range(len(y_test))] ##just for initialization of list 这样,y_pred_str就被初始化了,它的长度是len(y_test),list中其中都是’P’元素
  • 这种方式比嵌套列表推导更快[x[:] for x in [[foo] *...这里有一些python3时序,适用于小型和大型列表$python3 -m timeit '[x[:] for x in [[1] * 10] * 10]'1000000 loops, best of 3: 1.55 usec per loop$ python3...
  • 今天小编就为大家分享一篇python 初始化一个定长的数组实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
  • #coding=utf-8import numpy as npimage =[[0 for col in range(5)] for row in range(3)]a = np...0 是 数组初始化的值 ;数组较大 时候 效率较慢。new_image =np.zeros((3,5))#第二种方法是直接定义一个数组 数组的...
  • Python初始化一个5 x 3每项为0的数组,最好方法是: multilist=[[0forcolinrange(5)]forrowinrange(3)] 我们知道,为了初始化一个一维数组,我们可以这样做: alist=[0]*5 没错,那我们初始化一个二维数组...
  • Python初始化一个5 x 3每项为0的数组,最好方法是: multilist = [[0 for col in range(5)] for row in range(3)] 没错,那我们初始化一个二维数组时,是否可以这样做呢: multi = [[0] * 5] * 3 其实,这样做是...
  • 注意,Python初始化一个二维数组 不能用 [[0] * col] * row,这样每行创建的是 [0]*col的引用!!!!!! 使用 [[0] * col for _ in range(row)]
  • Python3 初始化二维数组注意地方

    万次阅读 2019-03-06 10:43:52
    Python3中初始化一个多维数组,通过for range方法。以初始化二维数组举例: arr = [[] for i in range(5)] >>> [[], [], [], [], []] arr = [[0, 0] for i in range(5)] arr[2].append(2) &...
  • python 初始化一个定长的数组

    万次阅读 2018-06-22 11:16:32
    ​ # 有时候我们提前知道了一个数组的大小,需要给每个元素...我们需要定义一个定# # 长的数组python中代码如下: ​ b = [0 for _ in range(10)] #也可以b = [0]*10 for i in range(10): pass # 赋值语句 ...
  • 初始化一个定长的数组有时需要预定义一个定长的数组,并给每个元素赋值方法1: python3中代码如下:#coding=utf-8item = 'PythonTab'array = [item for v in range(10)] #把 item 的值赋给 range()迭代器的每个元素...
  • Python创建空数组的三种方式:1、numpy指定形状为0实际上,empty生成的数组当然可以为空,只要我们指定了相应的形状。例如,如果我们传入数组的形状参数为(0,3),则可以生成...2、利用空列表创建初始化numpy数组...
  • Python3 List 初始化二维数组 踩坑记录

    千次阅读 2018-08-30 14:22:43
    Python3中初始化一个多维数组,通过for range方法。以初始化二维数组举例: >>> test = [[ 0 for i in range(2)] for j in range(3)] >>> test [[0, 0], [0, 0], [0, 0]...
  • 对于 Python 来说,序列是最基本的数据结构。...对于 Java 来说,数组是在内存中存储相同数据类型的连续的空间,声明一个数组就是在内存空间中划出一串连续的空间。 数组名代表的是连续空间的首地址,通过首地
  • Python初始化一个5 x 3每项为0的数组,最好方法是: multilist = [[0 for col in range(5)] for row in range(3)] 我们知道,为了初始化一个一维数组,我们可以这样做: 1 alist = [0] * 5 没错,那...
  • 初始化4*3的二维数组 a = [[0 for col in xrange(3)] for row in xrange(4)] 而不可以用: a = [[0]*3]*4 [0]*3是生成一个一维数组,再*4只是会复制出三个引用,当修改a[0][0]时,其他的三个引用的值也...
  • python学习笔记】多维数组初始化

    千次阅读 2017-10-11 11:11:23
    Python初始化一个5 x 3每项为0的数组,最好方法是: multilist = [[0 for col in range(5)] for row in range(3)] 我们知道,为了初始化一个一维数组,我们可以这样做: alist = [0] * 5 没错...
  • python 初始化数组

    2020-07-15 08:19:15
    height = np.zeros(100, dtype=np.int16)#后面dtype是为了让生成的数是int整数 height = np.zeros(100)
  • Python numpy实现二维数组数组拼接的方法撰写时间:2017.5.23数组1.numpy初始化一数组a = np.array([1,2,3]);print a.shape输出的值应该为(3,)二维数组2.numpy初始化二维数组a = np.array([[1,2,3]])...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 85,875
精华内容 34,350
关键字:

python初始化一个数组

python 订阅