Python数组定义方法
本文实例讲述了Python数组定义方法。分享给大家供大家参考,具体如下:
Python中没有数组的数据结构,但列表很像数组,如:
a=[0,1,2]
这时:a[0]=0, a[1]=1, a[[2]=2,但引出一个问题,即如果数组a想定义为0到999怎么办?这时可能通过a = range(0, 1000)实现。或省略为a = range(1000).如果想定义1000长度的a,初始值全为0,则 a = [0 for x in range(0, 1000)]
下面是二维数组的定义:
直接定义:
a=[[1,1],[1,1]]
这里定义了一个2*2的,且初始为0的二维数组。
间接定义:
a=[[0 for x in range(10)] for y in range(10)]
这里定义了10*10初始为0的二维数组。
还有更简单的字义二维数组的方法:
b = [[0]*10]*10
定义10*10初始为0的二维数组。
与a=[[0 for x in range(10)] for y in range(10)]比较:print a==b的结果为True。
但用b的定义方法代替a后,以前的可以正常运行的程序也出错了,经过仔细分析得出区别:
a[0][0]=1时,只有a[0][0]为1,其他全为0。
b[0][0]=1时,a[0][0],a[1][0],只到a[9,0]全部为1。
由此得到大数组中的10个小的一维数据全是一个相同的引用,即指向同一地址。
故 b = [[0]*10]*10并不符合我们常规意义上的二维数组。
同时经过试验:c=[0]*10的定义与c=[0 for x in range(10)]有同样的效果,而没有上面相同引用的问题,估计数组c的定义时是值类型相乘,而前面b的用类型的相乘,因为一维数组是一个引用(借用C#中的值类型和引用类型,不知是否合适)。
更多关于Python相关内容感兴趣的读者可查看本站专题:《Python字符串操作技巧汇总》、《Python入门与进阶经典教程》及《Python文件与目录操作技巧汇总》
希望本文所述对大家Python程序设计有所帮助。
相关推荐
-
python实现合并两个数组的方法
本文实例讲述了python实现合并两个数组的方法.分享给大家供大家参考.具体如下: python合并两个数组,将两个数组连接成一个数组,例如,数组 a=[1,2,3] ,数组 b=[4,5,6],连接后:[1,2,3,4,5,6] 方法1 a=[1,2,3] b=[4,5,6] a=a+b 方法2 a=[1,2,3] b=[4,5,6] a.extend(b) 希望本文所述对大家的Python程序设计有所帮助.
-
python使用in操作符时元组和数组的区别分析
在python中可以使用in符号判断指定的元素是否存在于列表中,但我发现元组和数组存在区别,下面是详细实验结果. >>> 'jb51.net' in ['haotu.net','jb51.net'] True >>> 'jb51.net' in ('haotu.net','jb51.net') True >>> 'jb51.net' in ['jb51.net/codes','haotu.net'] False >>> 'jb51.n
-
python将字符串转换成数组的方法
python将字符串转换成数组的方法.分享给大家供大家参考.具体实现方法如下: #----------------------------------------- # Name: string_to_array.py # Author: Kevin Harris # Last Modified: 02/13/04 # Description: This Python script demonstrates # how to modify a string by # converting it
-
Python实现字符串与数组相互转换功能示例
本文实例讲述了Python实现字符串与数组相互转换功能.分享给大家供大家参考,具体如下: 字符串转数组 str = '1,2,3' arr = str.split(',') print a 运行结果: 数组转字符串 #方法1 arr = ['a','b'] str1 = ','.join(arr) print str1 #方法2 arr = [1,2,3] #str = ','.join(str(i) for i in arr)#此处str命名与str函数冲突! str2 = ','.join(
-
详解Python中的array数组模块相关使用
初始化 array实例化可以提供一个参数来描述允许那种数据类型,还可以有一个初始的数据序列存储在数组中. import array import binascii s = 'This is the array.' a = array.array('c', s) print 'As string:', s print 'As array :', a print 'As hex :', binascii.hexlify(a) 数组配置为包含一个字节序列,用一个简单的字符串初始化. >>> =
-
Python列表list数组array用法实例解析
本文以实例形式详细讲述了Python列表list数组array用法.分享给大家供大家参考.具体如下: Python中的列表(list)类似于C#中的可变数组(ArrayList),用于顺序存储结构. 创建列表 复制代码 代码如下: sample_list = ['a',1,('a','b')] Python 列表操作 复制代码 代码如下: sample_list = ['a','b',0,1,3] 得到列表中的某一个值 复制代码 代码如下: value_start = sample_list
-
Python 初始化多维数组代码
Python中初始化一个5 x 3每项为0的数组,最好方法是: Code highlighting produced by Actipro CodeHighlighter (freeware) http://www.CodeHighlighter.com/ -->multilist = [[0 for col in range(5)] for row in range(3)]我们知道,为了初始化一个一维数组,我们可以这样做: Code highlighting produced by Actip
-
python对数组进行反转的方法
本文实例讲述了python对数组进行反转的方法.分享给大家供大家参考.具体实现方法如下: arr = [1,2,3] arr.reverse() print(arr) 输出: [3,2,1] 希望本文所述对大家的Python程序设计有所帮助.
-
python字符串str和字节数组相互转化方法
实例如下: # bytes object b = b"example" # str object s = "example" # str to bytes bytes(s, encoding = "utf8") # bytes to str str(b, encoding = "utf-8") # an alternative method # str to bytes str.encode(s) # bytes to str
-
python获得两个数组交集、并集、差集的方法
本文实例讲述了python获得两个数组交集.并集.差集的房部分.分享给大家供大家参考.具体如下: 1. 获取两个list 的交集 #方法一: a=[2,3,4,5] b=[2,5,8] tmp = [val for val in a if val in b] print tmp #[2, 5] #方法二 print list(set(a).intersection(set(b))) 2. 获取两个list 的并集 print list(set(a).union(set(b))) 3. 获取两个
-
python实现将元祖转换成数组的方法
本文实例讲述了python实现将元祖转换成数组的方法.分享给大家供大家参考.具体分析如下: python的元祖使用一对小括号表示的,元素是固定的,如果希望添加新的元素,可以先将元祖转换成数组列表,再进行操作 colour_tuple = ("Red","Green","Blue") colour_list = list(colour_tuple) assert colour_list == ["Red","Green
-
python遍历数组的方法小结
本文实例总结了python遍历数组的方法.分享给大家供大家参考.具体分析如下: 下面介绍两种遍历数组的方法,一种是直接通过for in 遍历数组,另外一种是通过rang函数先获得数组长度,在根据索引遍历数组 第一种,最常用的,通过for in遍历数组 colours = ["red","green","blue"] for colour in colours: print colour # red # green # blue 下面的方法可以先获
随机推荐
- jQuery实现获取table中鼠标click点击位置行号与列号的方法
- DB2 9数据服务器发展3部曲
- 值得收藏的正则表达式大全
- 解决html按钮切换绑定不同函数后点击时执行多次函数问题
- 利用spring aop实现动态代理
- 使用Swift实现iOScollectionView广告无限滚动效果(DEMO)
- js通过元素class名字获取元素集合的具体实现
- VC创建DLL动态链接库的方法
- .NET中的异常和异常处理用法分析
- 正则表达式 应用四则
- go语言channel实现多核并行化运行的方法
- 浅谈mysql 自定义函数
- 解决JS浮点数运算出现Bug的方法
- javascript滚轮控制模拟滚动条
- 在jsp页面中响应速度提高的7种方法分享
- C#学习笔记整理_深入剖析构造函数、析构函数
- linux服务器用centos还是ubuntu系统
- 易操作的jQuery表单提示插件
- 破解WINDOWSXP/2000/2003登录密码/去掉登录密码/重设登录密码的方法总结
- BBSXP漏洞再探究