-
2022-04-14 20:48:28
分析数据时经常会用到二维数组,通常需要创建一个元素均为0的数组。
一种常为采用的方法:
Matri = [[0 for i in range(col)] for j in range(row)]
行数:row 列数:col
row = 3 col = 4 Matrix = [[0 for i in range(col)] for j in range(row)]
得到3行4列的二维数组
[0, 0, 0, 0]
[0, 0, 0, 0]
[0, 0, 0, 0]更多相关内容 -
Python中创建二维数组
2020-12-25 10:38:18Python中创建二维数组 Python中的列表list可以当做一维数组使用,但是没有直接的定义使用二维数组。如果直接使用a = [][]会产生SyntaxError: invalid syntax语法不正确错误。 一般Python中创建二维数组的方法是使用... -
python:创建二维数组的正确方式
2022-03-06 09:14:52如下方式创建二维数组: ns = [[0] * 3] * 3 print("ns =", ns) ns[0][0] = 233 print("ns =", ns) 输出: ns = [[0, 0, 0], [0, 0, 0], [0, 0, 0]] ns = [[233, 0, 0], [233, 0, 0], [233, 0, 0]] 原因: ...问题:
如下方式创建二维数组:
ns = [[0] * 3] * 3 print("ns =", ns) ns[0][0] = 233 print("ns =", ns)
输出:
ns = [[0, 0, 0], [0, 0, 0], [0, 0, 0]] ns = [[233, 0, 0], [233, 0, 0], [233, 0, 0]]
原因:
浅拷贝,ns 里面的三个列表指向同一块内存。
解决办法:
1、直接创建法
ns = [[0, 0, 0], [0, 0, 0], [0, 0, 0]]
最简单常用方法。
2、列表生成式法
ns = [[0 for i in range(3)] for j in range(3)]
后者控制行数,前者控制列数。
3、使用模块numpy创建
import numpy as np ns = np.zeros((3, 3), dtype=np.int)
-
Python创建二维数组
2022-04-05 19:20:55文章目录前言实际操作一维数组二维数组总结 前言 Python并没有内置的数组类型,只有tuple,list,dict,set等内置类型。所以只能通过list模拟数组。 实际操作 一维数组 a = [i + 1 for i in range(10)] # a = [1, 2,...前言
Python并没有内置的数组类型,只有
tuple
,list
,dict
,set
等内置类型。所以只能通过list
模拟数组。实际操作
一维数组
a = [i + 1 for i in range(10)] # a = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10] print('a =', a) b = [3] * 5 # b = [3, 3, 3, 3, 3] print('b =', b)
这里两种实现方式没有区别,后续可以通过下标来访问、修改其中的值。
二维数组
a = [[(row + 1) * (col + 1) for col in range(4)] for row in range(3)] # [[1, 2, 3, 4], [2, 4, 6, 8], [3, 6, 9, 12]] print(a)
这里使用两个列表推导式的方式定义了类型二维数组的效果,后续可以通过下标来访问和修改其中的值,比如:
a[2][1] = 101
。
下面演示一个错误的二维数组的定义方式
a = [[1] * 4] * 3 # [[1, 1, 1, 1], [1, 1, 1, 1], [1, 1, 1, 1]] print(a) a[1][0] = 101 # [[101, 1, 1, 1], [101, 1, 1, 1], [101, 1, 1, 1]] print(a)
这里使用两个
list
的乘法操作进行重复,但是其中的值只是引用拷贝,并不是深拷贝,导致a[1][0] = 101
这个操作也影响了a[0]
和a[2]
。总结
多使用列表推导式😄。
-
python如何创建二维数组
2021-12-12 16:50:54关于python中的二维数组,主要有list和numpy.array两种。好吧,其实还有matrices,但它必须是2维的,而numpy arrays (ndarrays) 可以是多维的。 两者可以相互转化。下边是两者区别 数组list >>import numpy...关于python中的二维数组,主要有list和numpy.array两种。好吧,其实还有matrices,但它必须是2维的,而numpy arrays (ndarrays) 可以是多维的。
两者可以相互转化。下边是两者区别数组list
>>import numpy as np >>a=[[1,2,3],[4,5,6],[7,8,9]] >>a #这个是list的形式 [[1,2,3],[4,5,6],[7,8,9]] >>type(a) <type 'list'> >>a[1][1] 5 >>a[1] [4,5,6] >>a[1][:] [4,5,6]
这里需要注意的不能具体到个位的索引
>>a[1,1]"""相当于a[1,1]被认为是a[(1,1)],不支持元组索引""" Traceback (most recent call last): File "<stdin>", line 1, in <module> TypeError: list indices must be integers, not tuple >>a[:,1] Traceback (most recent call last): File "<stdin>", line 1, in <module> TypeError: list indices must be integers, not tuple
numpy.array
array=([[1,2,3], [4,5,6], [7,8,9]]) >>b[1][1] 5 >>b[1] array([4,5,6]) >>b[1][:] array([4,5,6]) >>b[1,1] 5 >>b[:,1] array([2,5,8])
list转化为array
#将list转化为numpy.array >>b=np.array(a)"""List to array conversion""" >>type(b) <type 'numpy.array'> >>b
怎么定义二维数组?两种方法:直接定义和间接定义
直接定义
matrix = [[0, 0, 0], [0, 0, 0], [0, 0, 0]] matrix[2][2] = 9 print(matrix)
间接定义
matrix = [[0 for i in range(3)] for i in range(3)] matrix[2][2] = 9 print(matrix)
添加二维数组
添加 matrix = [[0, 0, 0], [0, 0, 0], [0, 0, 0]] i=2 j=2 matrix[i][j] = 9 matrix.append([1,1,1]) print(matrix)
具体怎么添加的如下
matrix = [[0, 0, 0], [0, 0, 0], [0, 0, 0]] i=2 j=2 matrix[i][j] = 9 matrix.append([i,i,i]) print(matrix)
-
如何在Python中创建二维数组?
2021-02-10 12:08:51假设每个blog中的文本都是字符串形式的,并且您在blogs中有一个这样的字符串列表,那么您就可以创建矩阵了。在import re# Sample input for the following code.blogs = ["This is a blog.","This is another blog.... -
python 使用pandas的dataframe一维数组和二维数组分别按行写入csv或excel
2020-12-21 18:08:46pandas写入excel 两种 一个是一行一行的写(本身写入时列)另一种是写入二维数组。 1.一行一行的写 i=1 loujian=2 dat=[i,loujian,ll,load_idx,bilv,eventype]#一个变量 print (dat) test = pd.DataFrame(data=dat).... -
python——创建二维数组
2021-12-14 16:41:42方1: 直接list创建 dp = [[1 for i in range(5)] for j in range(4)] print(dp) #其中5代表列数,4代表行数 ...numpy中数组存储在连续的块中,而使用list数组在内存中是分散存储的,numpy无需对内. -
python3创建二维数组
2021-07-01 23:19:57python3创建二维数组关于python3创建二维数组的问题总结 关于python3创建二维数组的问题 做题时遇到创建数组时遇到一个小问题,如下: grid=[ ["1","1","1","1","0"], ["1","1","0","1","0"], ["1","1","0","0","0"]... -
python创建二维数组方法
2021-05-27 20:21:46之前对Python里面创建、使用二维数组也很懵,于是也上网查了一些讲解,也发现一些类似的问题,大多数存在着 以为定义正确了二维数组,但修改数据的时候,发现数据经常一起串改。如: b=[[0,0,0]]*3 b[0][1]=1 #... -
在python中定义二维数组
2020-11-21 04:12:18先看一段代码[py]array = [0, 0, 0]matrix = [array*3]print matrix## [[0,0,0,0,0,0,0,0,0]][/py]这段代码其实没有新建一个二维数组再看一段代码[py]array = [0, 0, 0]matrix = [array] * 3print matrix## [[0, 0, ... -
如何在Python中定义二维数组
2020-12-10 14:04:25矩阵运算numpy通常使用二维数组类型。创建新数组的方法有很多;最有用的方法之一是zeros函数,它接受一个形状参数并返回给定形状的数组,其值初始化为零:>>>importnumpy>>>numpy.zeros((5,5))... -
Python 创建一维数组、二维数组和N维数组
2021-11-24 23:07:27我们已经很熟悉在C++上创建一维二维数组了,那么如何在Python上创建二维数组呢 >>> A = [0]*3 >>> B = [[0]*2]*3 这样就可以得到我们的一维数组和二维数组了,我们可以看一下结果 >>> A... -
Python创建二维数组的正确姿势
2020-12-04 20:33:44↑↑↑点击上方“蓝字”...List (列表)是 Python 中最基本的数据结构。在用法上,它有点类似数组,因为每个列表都有一个下标,下标从 0 开始。因此,我们可以使用 list[1] 来获取下标对应的值。如果我们深入下列表的... -
python list 创建二维数组的坑
2019-08-02 19:57:50今天使用list 创建二维数组,使用方法是: a=[[0]*3]*5 显示 [[0, 0, 0], [0, 0, 0], [0, 0, 0], [0, 0, 0], [0, 0, 0]] 看起来完美,结果修改其中一个元素 a[1][2]=1,显示如下: [[0, 0, 1], [0, 0, 1], [0... -
一些Python中的二维数组的操作方法
2021-03-05 20:57:59需要在程序中使用二维数组,网上找到一种这样的用法:#创建一个宽度为3,高度为4的数组#[[0,0,0],# [0,0,0],# [0,0,0],# [0,0,0]]myList = [[0] * 3] * 4但是当操作myList[0][1] = 1时,发现整个第二列都被赋值,... -
终于知道python如何定义二维数组
2020-11-26 11:23:09终于知道python如何定义二维数组日期:2019-08-25 12:16:59浏览:323核心提示:一维数组只有一个下标,称为一维数组,其数组元素也称为单下标变量。在实际问题中有很多量是二维的或多维的,因此python允许构造多维... -
Python创建二维数组实例(关于list的一个小坑)
2020-09-21 02:14:27下面小编就为大家带来一篇Python创建二维数组实例(关于list的一个小坑)。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧 -
Python numpy实现二维数组和一维数组拼接的方法
2020-11-27 23:50:42Python numpy实现二维数组和一维数组拼接的方法撰写时间:2017.5.23一维数组1.numpy初始化一维数组a = np.array([1,2,3]);print a.shape输出的值应该为(3,)二维数组2.numpy初始化二维数组a = np.array([[1,2,3]])... -
python创建二维数组
2018-08-17 18:07:25写代码的时候需要使用python创建二维数组: num_list = [ [0]*5 ]*2 print(num_list) 输出:[[0, 0, 0, 0, 0], [0, 0, 0, 0, 0]] 看输出觉得这种方法是对的,结果程序出现了错误,经过分析,这种创建二维数组的... -
在python中利用python生成空二维数组
2021-03-11 11:19:59用列表解析可以快捷地生成空二维数组,代码如下 n,m=map(int,input().split()) graph=[[0 for j in range(n)] for i in range(m)] print(graph)
收藏数
47,691
精华内容
19,076