Python二维数组构造
周末用python要写个算法用到来二维数组, 一时间还不知道python怎么构造多维数组出来。看到一段不错的代码, 记录一下。
Python使用list嵌套实现多维数组, PHP可以使用array嵌套实现多维数组。
如果经常使用数组, 可以使用python的numpy包。
下面是个简单的例子:
import sys def create1D(length, value=None):
"""
Create and return a 1D array containing length elements,
each initialized to value.
"""
return [value] * length def create2D(rowCount, colCount, value=None):
"""
Create and return a 2D array having rowCount rows and
colCount columns, with each element initialized to value.
"""
a = [None] * rowCount
for row in range(rowCount):
a[row] = [value] * colCount
return a if __name__ == '__main__':
arr2D = create2D(3, 4, 0)
arr2D[1][3] = 5
for i in range(3):
for j in range(4):
sys.stdout.write(str(arr2D[i][j]) + " ")
sys.stdout.write("\n")
执行结果:
0 0 0 0
0 0 0 5
0 0 0 0
Python二维数组构造的更多相关文章
- python 二维数组读入
study from : https://www.cnblogs.com/reaptomorrow-flydream/p/9613847.html python 二维数组键盘输入 1 m = int( ...
- python二维数组切片
python中list切片的使用非常简洁.但是list不支持二维数组.仔细研究了一下发现,因为list不是像nampy数组那么规范.list非常灵活.所以没办法进行切片操作. 后来想了两个办法来解决: ...
- python二维数组的创建
话不多说,代码伺候 m = [[]*]*3 #创建一个3行5列的二维数组 m[][]= print(m) 输出结果为: 分析: m = [[0]*5]*3只是指向三个空列表的引用. 创建一个二维数组的 ...
- python 二维数组赋值问题
[[]]是一个含有一个空列表元素的列表,所以[[]]*3表示3个指向这个空列表元素的引用, 修改任何一个元素都会改变整个列表 所以需要用另外一种方式进行创建多维数组,以免浅拷贝 >>> ...
- python二维数组
和c c++不一样 过程如下: #-*- coding:utf-8 -*- t = [[ 0 for i in range(5)]for j in range(5)] for i in range(5 ...
- python 二维数组遍历
import numpy as np world=np.zero([5,5]) for i in range(0,world.shape[0]) for j in range(0,world.shap ...
- Python二维数组,坑苦了
myList = [[0] * 3] * 4 但是当操作myList[0][1] = 1时,发现整个第二列都被赋值,变成 [[0,1,0], [0,1,0], [0,1,0], [0,1,0]] my ...
- python 二维数组键盘输入
m = int(input()) grid = [[] for i in range(m)] for i in range(m): line = input().split(' ') for j in ...
- python二维数组初始化
>>> a=[[0]*3 for i in range(3)]>>> a[[0, 0, 0], [0, 0, 0], [0, 0, 0]]>>> ...
随机推荐
- Linux-C网络编程
简介 基础是TCP/IP协议,网上资料很多不再赘述. 推荐<图解TCP/IP> socket编程 网络字节序 发送主机通常将发送缓冲区中的数据按内存地址从低到高的顺序发出, 接收主机把从网 ...
- android 的几个黄色警告解决办法(转)
转自:http://my.eoe.cn/864234/archive/5162.html 1:Handler 1 2 3 4 5 6 7 8 // This Handler class should ...
- STM32 TIMER REGISTER
- AE开发中关于 “无法嵌入互操作类型.........请改用适用的接口”问题的解决方法
最近开始使用VS2010,在引用COM组件的时候,出现了“无法嵌入互操作类型……,请改用适用的接口”的错误提示. 查阅资料,找到解决方案,记录如下: 选中项目中引入的dll,鼠标右键,选择属性,把“嵌 ...
- TCP套接字端口复用SO_REUSEADDR
下面建立的套接字都是tcp套接字 1.进程创建监听套接字socket1,邦定一个指定端口,并接受了若干连接.那么进程创建另外一个套接口socket2,并试图邦定同一个端口时候,bind错误返回“Add ...
- [Winform]Media Player组件全屏播放的设置
摘要 在设置程序开始运行时,让视频全屏播放时,直接设置 windowsMediaPlay.fullScreen = true; 会报错,代码如下 windowsMediaPlay.URL = _vid ...
- ASP.NET Web API实践系列03,路由模版, 路由惯例, 路由设置
ASP.NET Web API的路由和ASP.NET MVC相似,也是把路由放在RouteTable中的.可以在App_Start文件夹中的WebApiConfig.cs中设置路由模版.默认的路由模版 ...
- 【推荐】腾讯android镜像(做Android开发的得好好利用下这个网站,国内的大公司还是可以滴……)
原文地址:http://android-mirror.bugly.qq.com:8080/include/usage.html ☀ Windows I. Open Android SDK Manage ...
- rTorrent + ruTorrent 安装和配置
原文地址:http://wangyan.org/blog/rtorrent-and-rutorrent-tutorial.html rTorrent 是一款非常简洁优秀的BT客户端,它完全基于文本并可 ...
- 数据访问:Implementing Efficient Transactions
An OLTP scenario is characterized by a large number of concurrent operations that create, update, an ...