解决Python二维数组赋值问题
当我们采用s=[[0]*3]*2初始化一个数组,然后对s[0][0]进行赋值,改变的是第一列所有的值。因为用s = [[0]*3]*2 初始化数组,他表示的是指向这个列表的引用,所以当你修改一个值的时候,整个列表都会修改。
换一种初始化方式,就可以解决这个问题:
写这个主要是因为今天在写【机器人的运动范围问题】:
地上有一个m行和n列的方格。一个机器人从坐标0,0的格子开始移动,每一次只能向左,右,上,下四个方向移动一格,但是不能进入行坐标和列坐标的数位之和大于k的格子。 例如,当k为18时,机器人能够进入方格(35,37),因为3+5+3+7 = 18。但是,它不能进入方格(35,38),因为3+5+3+8 = 19。请问该机器人能够达到多少个格子?
因为方格初始化问题导致bug,而浪费了很多时间。
以上这篇解决Python二维数组赋值问题就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们。
相关推荐
-
python实现给数组按片赋值的方法
本文实例讲述了python实现给数组按片赋值的方法.分享给大家供大家参考.具体如下: 这段代码可以直接给数组的第5-7个元素赋值 inventory = ["sword", "armor", "shield", "healing potion"] inventory[4:6] = ["orb of future telling"] print inventory 运行结果如下: ['sword', 'arm
-
Python中创建二维数组
二维数组 二维数组本质上是以数组作为数组元素的数组,即"数组的数组",类型说明符 数组名[常量表达式][常量表达式].二维数组又称为矩阵,行列数相等的矩阵称为方阵.对称矩阵a[i][j] = a[j][i],对角矩阵:n阶方阵主对角线外都是零元素. Python中创建二维数组 Python中的列表list可以当做一维数组使用,但是没有直接的定义使用二维数组.如果直接使用a = [][]会产生SyntaxError: invalid syntax语法不正确错误. 一般Python中创建二
-
python中字符串变二维数组的实例讲解
有一道算法题题目的意思是在二维数组里找到一个峰值.要求复杂度为n. 解题思路是找田字(四边和中间横竖两行)中最大值,用分治法递归下一个象限的田字. 在用python定义一个二维数组时可以有list和numpy.array两种方式,看了几篇python中二维数组的建立的博客发现大多都是建立的初始化的二维数组,而我需要通过文件读取得到的是字符串,再把字符串转换为二维数组,找不到解决方法还是决定自己来转换. 首先,最开始的字符串输出如下,数字之间有空格 思路就是把先按换行符进行切片,再对每一行的字符再
-
Python的多维空数组赋值方法
Python里面的list.tuple默认都是一维的. 创建二维数组或者多维数组也是比较简单. 可以这样: list1 = [1,2,] list1.append([3,4,]) 可以这样: list2 = [1,2,[3,4,],] 还可以这样: list3 = [1,2] list3.insert(2, [3,4]) 比较特殊的情况是: list0 = [] list0.append([]) 然后想给二维数组list0的第一个元素赋值.直接写list0[0][0]是会被编译器报错的. 那怎么
-
解决Python二维数组赋值问题
当我们采用s=[[0]*3]*2初始化一个数组,然后对s[0][0]进行赋值,改变的是第一列所有的值.因为用s = [[0]*3]*2 初始化数组,他表示的是指向这个列表的引用,所以当你修改一个值的时候,整个列表都会修改. 换一种初始化方式,就可以解决这个问题: 写这个主要是因为今天在写[机器人的运动范围问题]: 地上有一个m行和n列的方格.一个机器人从坐标0,0的格子开始移动,每一次只能向左,右,上,下四个方向移动一格,但是不能进入行坐标和列坐标的数位之和大于k的格子. 例如,当k为18时,机
-
PHP简单实现二维数组赋值与遍历功能示例
本文实例讲述了PHP简单实现二维数组赋值与遍历功能.分享给大家供大家参考,具体如下: 示例1: <?php $loptop1['lid'] = 1000; $loptop1['pic'] = 'img/1.png'; $loptop1['title'] = 'L1'; $loptop1['price'] = 5000; $loptop1['isOnSale'] = 1; $loptop1['shelfTime'] = 1234556; $loptop2['lid'] = 1001; $lopto
-
基于python 二维数组及画图的实例详解
1.二维数组取值 注:不管是二维数组,还是一维数组,数组里的数据类型要一模一样,即若是数值型,全为数值型 #二维数组 import numpy as np list1=[[1.73,1.68,1.71,1.89,1.78], [54.4,59.2,63.6,88.4,68.7]] list3=[1.73,1.68,1.71,1.89,1.78] list4=[54.4,59.2,63.6,88.4,68.7] list5=np.array([1.73,1.68,1.71,1.89,1.78])
-
python 二维数组90度旋转的方法
如下所示: #!/usr/bin/env python #-*- coding: utf-8 -*- """ [0, 1, 2, 3] [0, 1, 2, 3] [0, 1, 2, 3] [0, 1, 2, 3] 2维数组顺时针90度旋转后结果如下 [0, 0, 0, 0] [1, 1, 1, 1] [2, 2, 2, 2] [3, 3, 3, 3] [0][1] <==> [1][0] [0][2] <==> [2][0] [0][3] <==
-
Python二维数组实现求出3*3矩阵对角线元素的和示例
题目:求一个3*3矩阵对角线元素之和. 程序分析:利用双重for循环控制输入二维数组,再将a[i][i]累加后输出. def two_dimensionalArray(self): '二维数组实现求三阶矩阵的对角线元素之和' sum = 0 matrix = [[0, 1, 0], [0, 21, 0], [0, 12, 0]] matrix2 = [[0 for i in range(3)] for i in range(3)] matrix2[0][0] = 123 matrix2[1][1
-
详解Python二维数组与三维数组切片的方法
如果对象是二维数组,则切片应当是x[:]的形式,里面有一个冒号,冒号之前和之后分别表示对象的第0个维度和第1个维度: 如果对象是三维数组,则切片应当是x[::],里面有两个冒号,分割出三个间隔,三个间隔的前.中和后分别表示对象的第0.1.2个维度. x[n,:].x[:,n].x[m:n,:].x[:,m:n] 上面的中括号中(m:n)应当看成一个整体,除了(m:n)之外的冒号就是用来表明在哪个维度上操作的. 对于二维数组,在冒号前面的(n,)意味着对二维数组的第0个维度上的第n号元素操作,在冒
-
Python输入二维数组方法
前不久对于Python输入二维数组有些不解,今日成功尝试,记以备忘.这里以输入1-9,3*3矩阵为例 n=int(input()) line=[[0]*n]*n for i in range(n): line[i]=input().split(' ') print(line) 使用数据转换为int即可! 以上这篇Python输入二维数组方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们. 您可能感兴趣的文章: 一些Python中的二维数组的操作方法 python中字
-
Python实现二维数组输出为图片
对于二维数组,img_mask [[ 0 0 0 ..., 7 7 7] [ 0 0 0 ..., 7 7 7] [ 0 0 0 ..., 7 7 7] ..., [266 266 266 ..., 253 253 253] [266 266 266 ..., 253 253 253] [266 266 266 ..., 253 253 253]] 显示为图片的代码为: import matplotlib.pyplot as pyplot pyplot.imshow(im_mask) 以上这篇P
-
Java中的二维数组的赋值与输出方式
目录 二维数组的赋值与输出 随机给二维数组赋值,打印输出每个元素 题目 二维数组的赋值与输出 public class Demo1 { public static void main(String[] args) { //声明一个二维数组:有三行,列数待定,数组结构表示为{{ },{ },{ }} String s[][]=new String[3][];//动态赋值二维数组 s[0]=new String[3]; s[1]=new String[2]; s[2]=new String[3];
-
python将二维数组升为一维数组或二维降为一维方法实例
目录 1. 二维(多维)数组降为一维数组 方法1: reshape()+concatenate 函数, 方法2: flatten() 函数, 方法3: itertools.chain 方法4: sum() 方法5:operator.add + reduce 方法6:列表推导式 2. 一维数组升为 2 维数组 方法1:numpy 方法 总结 1. 二维(多维)数组降为一维数组 方法1: reshape()+concatenate 函数, 这个方法是间接法,利用 reshape() 函数的属性,间接
随机推荐
- 批处理入门与提高
- js中window.open的参数及注意注意事项
- VbScript 封裝MS OWC(二)
- C/C++ 中堆和栈及静态数据区详解
- 字符串替换Replace仅替换第一个字符串匹配项
- C语言菜鸟基础教程之a++与++a
- Android实现图片阴影效果的方法
- MySQL 中查找含有目标字段的表的方法
- 详解Lua中if ... else语句的使用方法
- vbs搜索文件名或者得到目录列表
- bat实现的模仿黑客帝国里面的数码雨
- javascript中日期函数new Date()的浏览器兼容性问题
- linux小技巧之利用screen管理你的远程会话
- ASP.NET中在不同的子域中共享Session的具体方法
- iOS中的AutoLayout使用实践总结
- 深踩Android Studio 缓存的坑及解决方法
- 对Python3中的input函数详解
- 15分钟并行神器gnu parallel入门指南
- 定时备份 Mysql并上传到七牛的方法
- 用Python将Excel数据导入到SQL Server的例子