一、list
zz = [1,2,3]
二、tuple
ZZ = ('1','2')
區別1:
list是用 [ ]
tuple是用( )
區別2:
list,可以使用append方法和insert方法,如:
zz.append('z')
則zz = [1,2,3,z]

tuple,不可以使用append方法和insert方法,會報錯如下:
>>> ZZ.append('zzzz')Traceback (most recent call last):  File "<stdin>", line 1, in <module>AttributeError: 'tuple' object has no attribute 'append'
區別3:
list,可以指定某個位置的元素:即:list可變,如
zz[0] = 'zzzzzasasadas'

tuple,不可以指定某個位置的元素,即:tuple不可變,會報錯如下:
>>> ZZ[0]='SDQWDQWEDQWE'Traceback (most recent call last):  File "<stdin>", line 1, in <module>TypeError: 'tuple' object does not support item assignment
假如tuple的某一個元素是list,那么可以改變tuple中的list的元素,但本質上,tuple是沒有改變,因為ZZ的第三個元素是個list,list可變

區別4:
定義只有一個元素的時候:
list:zz = ['xx']
tuple:ZZ = (1,)  這個括號里一定要加一個逗號, 否則會引起歧義.
假如定義為ZZ = (1),定義的不是tuple,而是1這個數,因為()既可以表示括號,又可以表示為數學公式中的小括號,就會產生歧義,

更多iOS、Android、Python的文章,請點擊:
http://blog.csdn.net/jamiecheung
更多java、Unity3D的文章,請點擊:
http://blog.csdn.net/u010841622
新聞熱點
疑難解答