python定义数组的方法-创新互联

创新互联www.cdcxhl.cn八线动态BGP香港云服务器提供商,新人活动买多久送多久,划算不套路!

成都创新互联于2013年开始,先为安次等服务建站,安次等地企业,进行企业商务咨询服务。为安次企业网站制作PC+手机+微官网三网同步一站式服务解决您的所有建站问题。

小编给大家分享一下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并不符合我们常规意义上的二维数组。

看完了这篇文章,相信你对python定义数组的方法有了一定的了解,想了解更多相关知识,欢迎关注创新互联-成都网站建设公司行业资讯频道,感谢各位的阅读!


新闻名称:python定义数组的方法-创新互联
浏览地址:http://csdahua.cn/article/hjsij.html
扫二维码与项目经理沟通

我们在微信上24小时期待你的声音

解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流