qqruser 发表于 2018-8-16 11:10:57

python数据结构-序列之元组

  python中包含六种内建的序列:列表;元组;字符串;unicode字符串;buffer对象;xrange对象。
  一、元组:不可变序列
  元组与列表一样,也是一种序列。唯一不同是元组不能修改(元组和列表在技术实现上有一些不同,但是在实际使用时,可能不会注意到。且元组没有像列表一样的方法)。
  1、创建元组:用逗号(,)分开,元组(大部分时候)是通过圆括号括起来的
  >>> 1,2,3            //直接在python编辑器输入
  (1, 2, 3)
  >>>
  >>> (1,2,3)      //用括号括起来定义元组
  (1, 2, 3)
  >>> ()                //空元组
  ()
  >>>
  >>> 3
  3
  >>> (3,)      //定义一个元素的元组(注意:必须有逗号)
  (3,)
  >>>
  >>> 3*(3)
  9
  >>> 3*(3,)
  (3, 3, 3)
  >>>
  2、元组函数:
  a)、tuple
  tuple函数的功能与list函数基本上一样:以一个序列作为参数并转为元组,如果参数就是元组,则原样返回。
  如:
  >>> a=(1,2,3)
  >>> b=
  >>> tuple(a)
  (1, 2, 3)
  >>> tuple(b)
  (1, 2, 3)
  >>> b
  
  >>>
  >>> tuple(['a','b','c'])
  ('a', 'b', 'c')
  >>>
  3、基本元组操作:
  元组除了创建与访问外,基本没有其他操作,参照通用序列操作(索引、分片、加、乘、迭代、成员资格等)
  如:
  >>> a=(1,2,3,4,5,6,1,3,4,2)
  >>> a      //索引
  3
  >>> a      //分片 (元组的分片还是元组,正如列表的分片还是列表一样)
  (3, 4, 5)
  >>> a      //分片和步长
  (3, 5, 1, 4)
  >>> b=(11,12)
  >>> a+b               //元组相加
  (1, 2, 3, 4, 5, 6, 1, 3, 4, 2, 11, 12)
  >>> 2 in a+b      //成员判断
  True
  >>> 4*b                //乘运算
  (11, 12, 11, 12, 11, 12, 11, 12)
  >>>
  4、元组存在的意义:
  列表一般可以替代元组,但是在以下两个方面来说,元组是不能替代的:
  a)、元组可以在映射(和集合的成员)中当作键使用,而列表不行
  b)、元组作为很多内建函数和方法的返回值存在,也就是说必须对元组进行处理。只要不尝试修改元组,那么“处理”元组在绝大多数情况下就是把他们当作列表来进行操作(除非需要使用一些元组没有的方法,如sort和pop)

页: [1]
查看完整版本: python数据结构-序列之元组