python中的内置数据结构主要有元组、列表和字典。本篇主要介绍元组。
元组由不同的元素组成,每个元素可以存储不同类型的数据,如字符串、数字甚至是元组。
1、元组的创建
格式
tuple_name = (元素1, 元素2, ...)
tuple_1 = ('beijing', 'shanghai', 'wuhan')
tuple_2 = ()
tuple_3 = ("beijing",)若没有“,”,则是创建的是字符串“beijing”。
和矩阵的访问一致,通过索引访问其中的元素。
格式
tuple_name [n]
tuple_1 = ('beijing', 'shanghai', 'wuhan') print tuple_1 [0]#beijing print tuple_1 [1]#shanghai print tuple_1 [2]#wuhan
元组支持负数索引,即从末尾开始是-1。
tuple_1 = ('beijing', 'shanghai', 'wuhan') print tuple_1 [-3]#beijing print tuple_1 [-2]#shanghai print tuple_1 [-1]#wuhan
分片的含义是一个子集,定义两个索引,分片是从第一个索引到第二个索引,不包括第二个索引之间的元素组成的元组。
格式
tuple_name [m:n]
tuple_4 = ('beijing', 'shanghai', 'nanjing', 'wuhan', 'chongqing') print len(tuple_4) tuple_slice = tuple_4 [1:3]#('shanghai', 'nanjing') print tuple_slice
与二维数组类似,即元组里的元素是元组。
格式
tuple_name = (tuple_1, tuple_2, ...)
#coding:UTF-8 tuple_1 = ('shanghai', 'beijing')#创建tuple_1 tuple_2 = ('nanjing', 'wuhan')#创建tuple_2 tuple_3 = (tuple_1, tuple_2) #tuple_3的访问 print tuple_3 [0] #访问的是tuple_1 print tuple_3 [1] #访问的是tuple_2 print tuple_3 [0][0] #访问的是tuple_1中的shanghai
在python中,将创建元组的过程称为“打包”。
“解包”即是将元组中的各个元素分别赋值给多个变量。
例如
#coding:UTF-8 # 打包 tuple_1 = ('beijing', 'shanghai', 'wuhan', 'nanjing') #解包 a, b, c, d = tuple_1 print a, b, c, d
使用到两个函数len()和range()函数。
如
#coding:UTF-8 tuple_1 = ('beijing', 'shanghai', 'wuhan', 'nanjing') for x in range(len(tuple_1)): print tuple_1 [x]
如
#coding:UTF-8 tuple_1 = ('beijing', 'shanghai', 'wuhan', 'nanjing') tuple_1 [1] = 'guangzhou'
TypeError: 'tuple' object does not support item assignment