Python元组


1. 简介

元组是不可变的列表

  • \color{green}{列表与元组的区别:}
  1. 列表使用中括号,元组使用小括号
  2. 列表内容允许扩展,元组内容不可变
  3. 列表内存存储动态变化,元组创建后固定不变
  4. 列表效率较低,元组效率最高
  5. 列表运行时数据需要变更时使用,元组用于保存稳定不变的数据

列表可以用于保存天气、股市等动态数据,而用元组来保存国家名、元素周期表等静态数据


2. 创建元组

  • \color{green}{方法1:}

元组名 = (元素, 元素, 元素)

  • \color{green}{方法2:}

元组名 = 元素, 元素, 元素

元组创建方式跟列表相同
建议使用 方法1 创建元组,会使程序看起来更加严谨
如果元组只有一个元素时,必须在这个元素后增加逗号 (元素,) 说明这是一个元组

  • \color{blue}{示例:}
#方法1创建元组
>>> t1 = ('a', 'b', 'c', 1, 2, 3)
>>> print(t1)
('a', 'b', 'c', 1, 2, 3)
>>> print(type(t1))
<class 'tuple'>

# 方法2创建元组
>>> t2 = 'a', 'b', 'c', 1, 2, 3
>>> print(t2, type(t2))
('a', 'b', 'c', 1, 2, 3) <class 'tuple'>

# 单元素元组
>>> t3 = ('a')
>>> print(type(t3))
<class 'str'>
>>> t3 = ('a',)
>>> print(type(t3))
<class 'tuple'>

3. 元组运算符

元组允许使用元组运算符来创建新的元组

  • \color{green}{元素合并:}

+
用法:元组1 + 元组2

注意相加的前后顺序,后面的元组元素会附加到前面元组的元素之后,合并成为一个新元组

  • \color{green}{元素自增:}

*
用法:元组 * 次数

元素自增是元组里所有元素增加指定的次数,附加到元组末

  • \color{blue}{示例:}
# 合并
>>> t1 = ('a','b','c')
>>> t2 = (1,2,3)
>>> t3 = t1 + t2
>>> print(t3)
('a', 'b', 'c', 1, 2, 3)

# 自增
>>> t4 = ('hello', 'world') * 2
>>> print(t4)
('hello', 'world', 'hello', 'world')

元组运算符同样适用于列表:列表1 + 列表2列表 * #


4. 获取元组数据

  • \color{green}{方法:}

元组名[索引]

元组数据的获取方法与列表完全相同,支持 正序索引、倒序索引、范围取值、成员运算符、遍历

  • \color{blue}{示例:}
>>> t1 = ('a', 'b', 'c', 1, 2, 3)
#正序索引
>>> print(t1[4])
2
#倒序索引
>>> print(t1[-1])
3
#范围取值
>>> print(t1[1:4])
('b', 'c', 1)
#成员运算符
>>> print('b' in t1)
True
>>> print('b' not in t1)
False
# 遍历
>>> t1 = ('a', 'b', 'c', 1, 2, 3)
>>> for i in t1:
    print(i)

a
b
  -- snip --

5. 修改元组数据

元组在创建后内容不可变,无法执行修改、增加操作

但是可以 给元组重新赋值 达到修改目的:

元组 = (新元素, 新元素)    #之前的元组元素就会被覆盖掉

如果元组内持有列表,那么列表的内容是允许被修改的:

>>> t2 = (['张三', 1995, 'ShangHai'], ['李四', 1996, 'BeiJing'])
>>> zs = t2[0]
>>> zs[2] = 'WuHan'
>>> print(t2)
(['张三', 1995, 'WuHan'], ['李四', 1996, 'BeiJing'])

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容