python之数组赋值技巧分享

  

<强>首先上一段程序:

        进口numpy np      list_a=列表(范围(10))   打印(“list_a: {}”.format (list_a))      array_a=np.array (list_a)   打印(“array_a: {}”.format (array_a))      list_b=(真的,假的,真的,真的,假的,假的,真的,假的,真的,假的)   打印(“list_b: {}”.format (list_b))      array_b=np.array (list_b)   打印(“array_b: {}”.format (array_b))      dtype=np.bool面具=np.zeros(10日)   打印(“面具:{}”.format(面具))   之前      

<强>下面是这段程序的输出:

        list_a: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9)   array_a: [0 1 2 3 4 5 6 7 8 9]   list_b:(真的,假的,真的,真的,假的,假的,真的,假的,真的,假的)   array_b:(真的假的真的真的假的假真的假的真的假的)   面具:[假假假假假假假假假假)      

从输出可以看出列表和数组的不同之处是列表是以逗号作为分隔符,而数组是以空格作为分隔符。还有numpy中的零生成的是数组中。其实,列表和数组还有很多的不同之处,例如:

  

是Python列表中的普通列表对象,支持附加和参加操作,没有形状属性;数组是numpy数据库中的对象,不支持附加和参加操作,具有形状属性。

  

一个列表中可以存放不同类型的数据,如int,浮动,str或者布尔型,而数组中只能存放相同类型的数据。

  

列表不支持乘法操作,数组支持乘法操作。

  

而对于赋值操作,操作对象只能是数组,而索引可以是数组也可以是列表:

        d=array_a [list_b]   打印(“array_a [list_b]: {}“.format (d))      e=array_a [array_b]   打印(“array_a [array_b]: {}“.format (e))      面具(list_b)=1   打印(“面具:{}”.format(面具))   之前      

输出如下:

        array_a [list_b]: [0 2 3 6 8]   array_a [array_b]: [0 2 3 6 8]   面具:[真的假的真的真的假的假真的假的真的假)      

此番操作可以将array_a中对b应数组或列表真实位上的元素组成一个新的数组。

  

如果对列表进行如此赋值操作,即把程序中的array_a换成list_a,则会报错:

        d=list_a [list_b]   TypeError:列表索引必须是整数或片,而不是列表中      e=list_a [array_b]   TypeError:只有整数标量数组可以被转化为一个标量索引   之前      

以上这篇python之数组赋值技巧分享就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。

python之数组赋值技巧分享