python中多维数组_python学习笔记-多维数组

Python中初始化一个5 x 3每项为0的数组,最好方法是:

multilist = [[0 for col in range(5)] for row in range(3)]

我们知道,为了初始化一个一维数组,我们可以这样做:

alist = [0] * 5

没错,那我们初始化一个二维数组时,是否可以这样做呢:

multi = [[0] * 5] * 3

其实,这样做是不对的,因为[0] * 5是一个一维数组的对象,* 3的话只是把对象的引用复制了3次,比如,我修改multi[0][0]:

multi = [[0] * 5] * 3

multi[0][0] = 'Love China'

print multi

输出的结果将是:

[['Love China', 0, 0, 0, 0], ['Love China', 0, 0, 0, 0], ['Love China', 0, 0, 0, 0]]

我们修改了multi[0][0],却把我们的multi[1][0],multi[2][0]也修改了。这不是我们想要的结果。

如果我们这样写呢:

multilist = [[0] * 5 for row in range(3)]

multilist[0][0] = 'Love China'

print multilist

我们看输出结果:

[['Love China', 0, 0, 0, 0], [0, 0, 0, 0, 0], [0, 0, 0, 0, 0]]

恩,没问题。但是,由于使用 * 的方法比较容易引起混淆导致Bug,所以还是推荐使用上面第一种方法,即:

multilist = [[0 for col in range(5)] for row in range(3)]

还可以这样:

a=[0 for col in range(10)]

>>> a

[0, 0, 0, 0, 0, 0, 0, 0, 0, 0]

>>> a=[multilist for t in range(4)]

>>> a

[[[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]]]

>>> b=[a[i][1][1] for i in range(3) ]

>>> b

[0, 0, 0]

这里,主要是for的妙用,python中特有的简单化处理

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/288456.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【第四周作业】参加项目开发之后的一些体会

在参加项目开发之前,我没有任何的软件开发经验,所以这次参加项目开发完全是从零开始,从头学起。 这周上课时讲到了软件开发的过程中要注重高内聚、低耦合,这让我联想到了我的项目开发工作。在这次的项目开发中,我主要负…

在MAUI中使用Masa Blazor

Masa Blazor是什么在此之前我们已经介绍过什么是Masa Blazor,以及如何使用Masa Blazor,如果还有不了解Masa Blazor的同学可以看我上篇文章【初识Masa Blazor】。那么今天就带大家探索一下如何在MAUI中使用Masa Blazor,那么我们先来了解一下什么是MAUI&am…

linux如何调试elf程序,Linux应用程序elf描述

玩Linux的人应该明白ELF文件是一种文件格式,就好比.txt,.doc等一样,只是这个文件是按照特定信息排列组成,同样在windows上也存在一种格式,它叫PE,老的叫dos。下面我就来看看ELF文件里面到底有什么, 以hello…

剑指offer之二叉树的镜像

1题目 求二叉树A的镜像&#xff0c;就是对称图&#xff0c;比如下面的树B是树A的镜像 比如&#xff1a; 2 2 树A 3 5 树B 5 3 1 4 2 3 3 2 4 1 2 代码实现 #include <std…

php is_dir 判断是否存在这目录

is_dir 可以用来判断目录是否存在 例如&#xff1a; <?phpvar_dump(is_dir(e11/)); 判断当前目录是否存在下的e11这个目录是否存在&#xff0c;结果输出&#xff1a; bool(false) 那么假如我存在一个名字为e的目录&#xff0c;那么&#xff1a; var_dump(is_dir(e/))…

C#操作Office.word(三)

前面两篇博客讲解了怎么通过程序控制word的生成&#xff0c;包括生成文字、添加表格、添加图片等。这篇博客主要说一下怎么把word图片转换成pdf。 using System; using System.Collections.Generic; using System.Linq; using System.Text;using Microsoft.Office.Core;namespa…

exchange2013 owa-outlook界面语言

环境&#xff1a;Exchange 2013客户需求&#xff1a;在海外有分支机构&#xff0c;希望这些人的owa和outlook都是英文一般在登陆owa时&#xff0c;通过用户名和密码验证完成后会提示选择语言和时区&#xff0c;根据客户端的浏览器里面的语言会有一个默认选项英文系统中文系统Ou…

ADO.NET提供的Connection类总结

各种数据接口的连接方式 一、ADO连接 1、连接access数据库 set conn=Server.CreateObject("ADODB.Connection") conn.open "Driver={Microsoft Access Driver (*.mdb)};dbq="&Server.Mappath("dbname(路径全名)") 2、连接SQL Server数据库…

测试网速_使用Speedtest CLI测试你的网速

在本文中我们将使用一个名为speedtest-cli的命令行工具来测试网速。它是用Python语言编写的工具&#xff0c;系统通过向speedtest.net网站上传和下载数据来测试带宽。环境Centos7安装speedtest-cli工具在安装speedtest-cli之前&#xff0c;我们需要安装先安装python3-pip包管理…

回文数之一(大概)

若一个数&#xff08;首位不为0&#xff09;从左到右读与从右到左读都是一样&#xff0c;这个数就叫做回文数&#xff0c;例如12521就是一个回文数。 给定一个正整数&#xff0c;把它的每一个位上的数字倒过来排列组成一个新数&#xff0c;然后与原数相加&#xff0c;如果是回文…

C# IEnumerator IEnumerable接口

前言使用linq的时候大家应该都知道IEnumerable和IEnumerator接口&#xff01;解释一下IEnumerable 它利用 GetEnumerator() 返回 IEnumerator 集合访问器,声明实现该接口的class是“可枚举(enumerable)”的 通俗点说就是可进行迭代操作的类型。IEnumerator解释&#xff1a;它是…

linux中mpich的运行线程,贝叶斯法构建进化树:MrBayes

1. 简介使用贝叶斯法构建进化树的软件有很多。在这里简要介绍MrBayes的安装和使用。以下介绍是对几种贝叶斯法构建进化树软件的简介&#xff1a;MrBayes is a program for Bayesian inference and model choice across a wide range of phylogenetic and evolutionary models. …

linux c之gcc -g file.c -o file提示warning: no newline at end of file

1 问题 编译c文件的时候&#xff0c;命令如下 gcc -g file.c -o file 错误提示如下 warning: no newline at end of file 2 解决办法 原因&#xff1a;源文件的最后一行没有回车符造成 我们用vim编辑文件&#xff0c;然后到文件最后一行回车就行 vi和vim操作&#xff0…

php strtoupper 和 array_change_key_case 字符串转大写,小写

strtoupper &#xff1a;字符串转为大写。 array_change_key_case 则是把数组的所有的键转换为大写字母。 strtoupper&#xff1a; <?phpecho strtoupper("Hello world!"); 输出&#xff1a; HELLO WORLD! strtolower &#xff1a;字符串转为小写。 <?…

用Excel VBA连接SQL Server数据库并将表中的数据显示到Excel中

本实例使用VB语言和OLEDB类连接SQL Server 2005数据库。 在sheet1上右键→查看代码&#xff0c;加入如下代码&#xff1a; Sub admin()Dim conn, xRsSet conn CreateObject("ADODB.Connection")conn.Open "ProviderSQLOLEDB.1;Persist Security InfoFalse;Use…

filter与servlet对照

最近在开java物自&#xff0c;还记得刚开始使用servlet这是一个调试ajax什么时候&#xff0c;然后&#xff0c;我不知道怎么用&#xff0c;你知道写的路径来调用&#xff0c;总是提示404错&#xff0c;&#xff0c;到最后自己一点点的调通了&#xff0c;知道servlet是须要serve…

vc++ 提取网页上的文字_网页内容不让你复制?老师傅教的这招太绝了,1键提取全网文字...

在网上冲浪&#xff0c;看到了一些不错的文字&#xff0c;想要复制下来&#xff0c;可是网站就不让你复制&#xff0c;非要你注册登录账号&#xff0c;更有甚者要你购买VIP才能复制文字&#xff0c;这不是天方夜谭吗&#xff1f;今天老师傅就教你一招&#xff0c;学会了网页文字…

使用 C# 生成 EMF 矢量图形文件

前言公众号上有网友询问我如何生成 EMF 文件的问题&#xff1a;本以为非常简单&#xff0c;我快速给出了解决方案&#xff1a;var bitmap new Bitmap(640, 480);var g Graphics.FromImage(bitmap);g.DrawString("My IO", new Font(FontFamily.GenericSerif, 10), B…

php register_shutdown_function响应error 配合error_get_last 捕获错误

register_shutdown_function 函数,当我们的脚本执行完成或意外死掉导致PHP执行即将关闭时,我们的这个函数将会 被调用&#xff0c;可以配合 error_get_last 使用&#xff0c;代码如下&#xff0c;注释已经解释了代码了&#xff1a; error_get_last 稍后解释 <?php //a bo…

嵌入式开发linux工具,嵌入式Linux开发入门之MfgTool工具的使用

介绍嵌入式linux开发的环境搭建&#xff1a;一、PC端环境搭建2、Ubuntu装好后&#xff0c;在终端安装minicom工具&#xff0c;安装命令&#xff1a;sudo apt-get install minicom注&#xff1a;该工具在后面烧录开发板可以调试使用&#xff0c;对以后的嵌入式程序开发也是不可获…