空三z/i imageview将图片清空是什么软件

17846人阅读
Python(12)
python中创建指定大小的二维数组,有点像C++中进行动态申请内存创建数组,不过相比较而言,python中更为简单一些。
创建n行m列的二维数组:
matrix = [None]*2
for i in range(len(matrix)):
matrix[i] = [0]*3
print(matrix)
当然也可以使用list comprehension的方式创建:
matrix = [[0]*m for i in range(n)]
print(matrix)
matrix[0][0] = 1
print(matrix)
对于创建三维甚至三维以上的数组,建议使用第一种方法,依次确定最高维、次高维以及最后一维,如果使用list comprehension会产生浅拷贝的问题。
matrix = [None]*2
for i in range(len(matrix)):
matrix[i] = [0]*3
print(matrix)
for i in range(n):
for j in range(m):
matrix[i][j] = [1]*k
print(matrix)
参考知识库
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:287068次
积分:4169
积分:4169
排名:第5798名
原创:115篇
转载:11篇
评论:65条
(1)(1)(1)(1)(1)(1)(4)(3)(3)(3)(3)(7)(1)(5)(2)(4)(5)(7)(2)(1)(2)(1)(2)(2)(2)(9)(1)(1)(1)(2)(1)(2)(1)(1)(5)(2)(8)(1)(9)(3)(1)(1)(3)(3)(7)(4)增加时a.append( 'a ')就可以了。只要按顺序加,就没有问题 。 使用时,完全可以使用下标: 代码如下 复制代码 a[0] a[1]
但出果引用不存在的下标,则会引发异常。这时,你需要先添加元素,再引用就没有问题
了。如果想预先保留空间,可以使用循环来给list,每个元素一个缺省值,再引用就不会有问题
了。 如: 代码如下 复制代码 a=[] for
range(100):
a.append([])
range(100):
a[i].append(0)
这样就生成了一个100*100缺省值为0的数组。#创建一个宽度为3,高度为4的数组#[[0,0,0], # [0,0,0],# [0,0,0],# [0,0,0]]myList = [[0] * 3] * 4但是当操作myList[0][1] = 1时,发现整个第二列都被赋值,变成[[0,1,0],[0,1,0],[0,1,0],[0,1,0]]为什么...一时搞不懂,后面翻阅The Python Standard Library 找到答案list * n&&n shallow copies of list concatenated, n个list的浅拷贝的连接例: 代码如下 复制代码 &&& lists = [[]] * 3&&& lists[[], [], []]&&& lists[0].append(3)&&& lists[[3], [3], [3]][[]] 是一个含有一个空列表元素的列表,所以[[]]*3表示3个指向这个空列表元素的引用,修改任何一个元素都会改变整个列表:所以需要用另外一种方式进行创建多维数组,以免浅拷贝: 代码如下 复制代码 &&& lists = [[] for i in ra(www.111cn.net)nge(3)]&&& lists[0].append(3)&&& lists[1].append(5)&&& lists[2].append(7)&&& lists [[3], [5], [7]]之前的二维数组创建方式为:myList = [([0] * 3) for i in range(4)]比如,
要动态创建一个
二维数组: 代码如下 复制代码 int**
pTwoDimArr
int[10][20]; pTwoDimArr[0][0]
5; 这样好像很直观,不过,编译会出错: 代码如下 复制代码 cannot
' 如果这样: 代码如下 复制代码 int
pTwoDimArr[10][20]; pTwoDimArr[0][0]
是可以的,但是
这个数组的内存却是在栈上分配的,所以,
代码如下 复制代码 void
main(){ int
pTwoDimArr[]; }
编译没问题,运行就会死掉作为全局变量是可以的,但最好杜绝吧 代码如下 复制代码 int
pTwoDimArr[]; void
这样: 代码如下 复制代码 int
(*pTwoDimArr)[1000]
int[]; pTwoDimArr[0][0]
动态分配是可以的,
一来记得释放内存,二来维数还是要固定的(第一维可变),是不是有些不爽因为
是&静态&语言,
在编译期要确定好一切,所以在多维数组的定义时除了第一维可变外,其他几维都要固定为常数,因为数组在内存中是线性存储的。from:http://www.111cn.net/phper/python/41780.htm
最新教程周点击榜
微信扫一扫python(25)
python中如何表示多维数组
在java或者c以及其他语言中,表示个“整型3行4列”的矩阵,可以这样声明:int
但是在python中一不能声明变量int,二不能列出维数。我们只能利用列表中夹带列表形式表示。
以实际例子为例,想将文件中如下格式的数据读取出来,,文件中的每行数据是一个样本,列数是每个样本的属性个数。我们希望将其读取出来组合成N*2的矩阵形式,以便于对这些数据进行处理。
实现的代码如下:
dataSet = []
#列表,用来表示,列表中的每个元素也是一个二维的列表;#这个二维列表就是一个样本。
#与我们所熟悉的矩阵类似,最终我们将获得N*2的矩阵,每行元素的数据构成了我们的样本数据
fileIn = open("D:/xuepython/testSet.txt")
for line in fileIn.readlines():
lineArr = line.strip().split('\t')#line.strip()把末尾的'\n'去掉
temp.append(float(lineArr[0]))
temp.append(float(lineArr[1]))
dataSet.append(temp)
#dataSet.append([float(lineArr[0]), float(lineArr[1])])
#这条语句可以替换到上面的三条语句
fileIn.close()
上面的基本思路是:
(1):最终我们想要的矩阵dataSet是一个列表tuple.
(2):矩阵中的每一个元素temp也是一个列表
(3):首先,我们先构造每一个元素temp列表。
(4):然后,将每个元素temp列表添加(append)进dataSet中去即可
参考知识库
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:192602次
积分:7536
积分:7536
排名:第2174名
原创:546篇
转载:10篇
评论:53条
文章:12篇
阅读:17198
文章:11篇
阅读:4963
文章:16篇
阅读:3378
阅读:5263
阅读:4858
文章:22篇
阅读:14143
(7)(3)(14)(4)(31)(47)(24)(26)(50)(57)(23)(8)(18)(77)(66)(24)(16)(33)(24)(5)

我要回帖

更多关于 delphi image 清空 的文章

 

随机推荐