php引用类-如何引用Python列表中的字段

本文介绍了Python列表。 在计算机语言中,Python列表是一种广泛使用的语言。 如果您对Python列表的实际应用方法有一些疑问,可以浏览我们的文章。 以下是文章内容的简介。

Python 中不存在带有字段的数据结构,但列表很像字段,例如:

<pre class="brush:python;toolbar:false">a=[0,1,2]这时a[0]=0, a[1]=1, a[[2]=2,

登录复制

但问题就出现了,那就是如果字段a想要定义为0到999,那么可以通过a = range(0, 1000)来实现。或者省略为a = range(1000)。 如果要定义一个宽度为1000的php引用类,初始值全为0,那么

a = [0 for x in range(0, 1000)]

登录复制

这里定义了一个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。 但将a替换为b的定义后,之前能正常运行的程序也出现了错误。 仔细分析,发现区别:当a[0][0]=1时,只有a[0][0]为1,其他均为0。当b[0][0]=1时,a[0 ][0],a[1][0],直到a[9,0]都为1。这样php引用类,大链表中的10个小一维数据都有相同的引用,即指向相同的地址。 因此,b = [[0]*10]*10 不符合我们常规的二维数组。

同时经过测试:c=[0]*10的定义与c=[0 for x in range(10)]具有相同的疗效,并且不存在上面提到的问题。 估计链表c的定义是值类型的加法,后面用了类型b的加法,因为一维数组是引用(借用了C#中的值类型和引用类型,我不不知道合适不合适)。 上面的文章是对Python列表的部分介绍。