python中列表、数组、矩阵的区别

  • 列表的形式为[x1,x2,x3,...,],这个"x1"可以是列表、元组等各种。两个列表相加是指将两个列表拼接起来,列表只能做加运算,没有减、乘、除,如:
a=[1,2,3]
b=[4,5,6,8]
print(a+b)

        输出[1,2,3,4,5,6,8]。

        注意:两个列表无法在数值上进行运算,比如说对应元素相乘,相加等。列表可以通过np.array()转化为数组,转化为数组后就可以进行一些运算了。并且,列表不可以转置。

        容易出错的例子:

a=[1,2,3]
b=[1,2,3]
print(b==a)
a=numpy.array(a)
b=numpy.array(b)
print(b==a)

         第一个和第二个分别输出:

True
[ True  True  True]
  • 数组的形式一般都是由列表转换,numpy.array(list)。在数组中可以进行很多运算,最基础的是加减乘除,数组的加减乘除是数组各个元素之间进行加减乘除运算,如:
a=[[1,2,3],[1,2,3],[1,2,3]]
b=[[1,2,3],[1,2,3],[1,2,3]]
a=numpy.array(a)
b=numpy.array(b)
print(a+b)
print(a-b)
print(a*b)
print(b/a)
输出:
[[2 4 6]
 [2 4 6]
 [2 4 6]]
[[0 0 0]
 [0 0 0]
 [0 0 0]]
[[1 4 9]
 [1 4 9]
 [1 4 9]]
[[1. 1. 1.]
 [1. 1. 1.]
 [1. 1. 1.]]

        除了加减乘除,数组还有一些自带的函数,就不一一介绍了。 取数组中的某一个元素可以用a[i][j],取列表中的元素也是a[i][j],而取矩阵中的元素是a[i,j]

        对于一维数组来说,没有维度的概念,用例子解释一下:(转置前后形状不变)

a=np.array([1,2,3])
print(a.shape)
print(a.T.shape)
输出:
(3,)
(3,)
  • 矩阵的形式是mat(array)或mat(list)得来的,也就是说可以由列表和数组转化为矩阵。矩阵与数组之间很大的区别在于两个矩阵通过\ast运算和两个数组通过\ast运算的结果是不一样的。如:
a=numpy.array([[1,2,3],[1,2,3],[1,2,3]])
b=numpy.array([[1,2,3],[1,2,3],[1,2,3]])
print(a*b)
a=mat(a)
b=mat(b)
print(a*b)
输出:
[[1 4 9]
 [1 4 9]
 [1 4 9]]
[[ 6 12 18]
 [ 6 12 18]
 [ 6 12 18]]

        一个是矩阵乘法运算,一个是元素相乘。


        后续用到张量会加进来进行一些补充。

  • 6
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值