Python 中数组和数字相乘时的注意事项说明

 更新时间:2021年05月10日 10:58:28   作者:耒宇  
这篇文章主要介绍了Python 中数组和数字相乘时的注意事项说明,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧

注意事项

[object] * n 的时候并没有复制n-1个object,而是增加了n-1个对object的引用。

例子说明

目标:生成一个10*10且所有值都是0的二维数组

方法一:

[ [0] * 10] * 10

方法二:

[ [0 for _ in range(10)] for _ in range(10)]

本以为两种方法得到的结果是一样,但是在使用时发现有些不一样。如下面的代码所示。

当仅仅更改a[2][2]的值的时候,a[k][2] (k取0到9)全部被更改成了4。

其实这是因为[object] * n 的时候并没有复制n-1个object,而是增加了n-1个引用。

a = [ [0] * 10] * 10 
b = [ [0 for _ in range(10)] for _ in range(10)] 
a[2][2] = 4 
b[2][2] = 4 
for i in a: 
    print(i) 
print("--------") 
for i in b: 
    print(i) 
 
[0, 0, 4, 0, 0, 0, 0, 0, 0, 0]
 
[0, 0, 4, 0, 0, 0, 0, 0, 0, 0]
 
[0, 0, 4, 0, 0, 0, 0, 0, 0, 0]
 
[0, 0, 4, 0, 0, 0, 0, 0, 0, 0]
 
[0, 0, 4, 0, 0, 0, 0, 0, 0, 0]
 
[0, 0, 4, 0, 0, 0, 0, 0, 0, 0]
 
[0, 0, 4, 0, 0, 0, 0, 0, 0, 0]
 
[0, 0, 4, 0, 0, 0, 0, 0, 0, 0]
 
[0, 0, 4, 0, 0, 0, 0, 0, 0, 0]
 
[0, 0, 4, 0, 0, 0, 0, 0, 0, 0]
 
--------
 
[0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
 
[0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
 
[0, 0, 4, 0, 0, 0, 0, 0, 0, 0]
 
[0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
 
[0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
 
[0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
 
[0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
 
[0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
 
[0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
 
[0, 0, 0, 0, 0, 0, 0, 0, 0, 0]

补充:python 中numpy数组与数组使用*相乘的效果

输入:

import numpy as np
b = np.array([[1,2,3,4],[5,6,7,8],[9,10,11,12]])
a = np.array([150,270,150,270])
b2 = b * a
print(b)
print(a)
print(b2)

输出:

[[ 1 2 3 4]

[ 5 6 7 8]

[ 9 10 11 12]]

[150 270 150 270]

[[ 150 540 450 1080]

[ 750 1620 1050 2160]

[1350 2700 1650 3240]]

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。如有错误或未考虑完全的地方,望不吝赐教。

相关文章

  • Python基于GDAL镶嵌拼接遥感影像

    Python基于GDAL镶嵌拼接遥感影像

    这篇文章主要介绍了Python基于GDAL镶嵌拼接遥感影像, 这里有一点需要注意的就是,用这个方法进行镶嵌拼接操作时,影像有一条明显的拼接线,不知道是不是我数据的问题,你们可以自己尝试一下,只要修改主函数中的路径即可,需要的朋友可以参考下
    2023-10-10
  • Python提取PDF发票信息保存Excel文件并制作EXE程序的全过程

    Python提取PDF发票信息保存Excel文件并制作EXE程序的全过程

    之前零散的用过一点python做数据处理,这次又遇到一个数据处理的小功能,下面这篇文章主要给大家介绍了关于Python提取PDF发票信息保存Excel文件并制作EXE程序的相关资料,文中通过实例代码介绍的非常详细,需要的朋友可以参考下
    2022-11-11
  • PyCharm Python Console中文输出乱码问题及解决

    PyCharm Python Console中文输出乱码问题及解决

    这篇文章主要介绍了PyCharm Python Console中文输出乱码问题及解决方案,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-07-07
  • Pycharm中切换pytorch的环境和配置的教程详解

    Pycharm中切换pytorch的环境和配置的教程详解

    这篇文章主要介绍了Pycharm中切换pytorch的环境和配置,本文给大家介绍的非常详细,对大家的工作或学习具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-03-03
  • Python简单处理坐标排序问题示例

    Python简单处理坐标排序问题示例

    这篇文章主要介绍了Python简单处理坐标排序问题,结合实例形式分析了Python基于冒泡排序算法的坐标值排序相关操作技巧,需要的朋友可以参考下
    2019-07-07
  • 使用Python构建Markdown转Word文档转换器

    使用Python构建Markdown转Word文档转换器

    在当今的文档处理中,Markdown因其简洁的语法和易读性而广受欢迎,而Microsoft Word(DOCX格式)则因其广泛的兼容性和专业的排版效果成为商业文档的标准,本文将介绍如何使用Python构建一个带有图形界面的Markdown转Word文档转换器,需要的朋友可以参考下
    2025-02-02
  • 深度学习中shape[0]、shape[1]、shape[2]的区别详解

    深度学习中shape[0]、shape[1]、shape[2]的区别详解

    本文主要介绍了深度学习中shape[0]、shape[1]、shape[2]的区别详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2022-07-07
  • 通过 Django Pagination 实现简单分页功能

    通过 Django Pagination 实现简单分页功能

    这篇文章主要介绍了通过 Django Pagination 实现简单分页功能,非常不错,具有一定的参考借鉴价值,需要的朋友可以参考下
    2019-11-11
  • python数据解析BeautifulSoup爬取三国演义章节示例

    python数据解析BeautifulSoup爬取三国演义章节示例

    这篇文章主要介绍了python数据解析BeautifulSoup爬取三国演义章节示例,文中附含详细示例代码,有需要的朋友可以借鉴参考下,希望能够有所帮助
    2021-09-09
  • Python识别二维码的两种方法详解

    Python识别二维码的两种方法详解

    在学习Python处理二维码的过程中,我们看到的大多是“用python生成酷炫二维码”、“用Python制作动图二维码”之类的文章。而关于使用Python批量识别二维码的教程,并不多见。本文就为大家总结了Python识别二维码的两种方法,感兴趣的可以学习一下
    2022-06-06

最新评论