Python--6 元组:戴上了枷锁的列表

  元组:戴上了枷锁的列表

  由于是列表是近亲关系,所以元组和列表在实际使用上非常相似的

  通过谈论元组和列表有什么不同来学习元组

 主要从以下几个点来讨论学习:

   创建和访问一个元组 

   更新和删除一个元组

   元组相关的操作符

  >>> tuple1 = (1, 2, 3, 4, 5, 6, 7, 7)
  >>> tuple1[1]
  2
  >>> tuple1[5:]
  (6, 7, 7)
  >>> tuple1[:5]
  (1, 2, 3, 4, 5)
  >>> tuple2 = tuple1[:]
  >>> tuple2
  (1, 2, 3, 4, 5, 6, 7, 7)

 元组不能作修改

  >>> tuple1[1] = 3
  Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  TypeError: 'tuple' object does not support item assignment

 元组标志性符号 --,逗号

  >>> temp = (1)
  >>> temp
  1
  >>> type(temp)
  <class 'int'>
  >>> temp2 = 2, 3 ,4
  >>> type(temp2)
  <class 'tuple'>

  >>> 8 * (8)
  64
  >>> 8 * (8,)
  (8, 8, 8, 8, 8, 8, 8, 8)

 创建空元组

  >>> temp = ()
  >>> type(temp)
  <class 'tuple'>

 更新和删除一个元组              垃圾回收机制,当对象或字符串等没有指向时

 

  >>> temp = ('cat', 'dog', 'pig', 'fish')
  >>> temp = temp[:2] + ('humen') + temp[2:]
  Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  TypeError: can only concatenate tuple (not "str") to tuple
  >>> temp = temp[:2] + ('humen',) + temp[2:]
  >>> temp
  ('cat', 'dog', 'humen', 'pig', 'fish')
  >>> del temp
  >>> temp
  Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  NameError: name 'temp' is not defined
 元组相关的操作符

  拼接操作符 +

  重复操作符 *

  关系操作符 > >=...

  逻辑操作符  and or 

  成员操作符 in not in

 

 

 

 

  

posted @ 2017-09-01 12:26  110528844  阅读(140)  评论(0编辑  收藏  举报