元组

# -*- coding: utf-8 -*-
# @Time    : 2019/11/7 9:56
# @Author  : John
# @Email   : 2398344557@qq.com
# @File    : 元组(tuple).py
# @Software: PyCharm
  • 元组属于不可变的序列,一旦创建,用任何方法都不能将其修改
  • 表示形式:()
a = (1, 2, 3)
print(type(a))
# —— <class 'tuple'>
  • 创建一个的元组
x = (3)*4    # 单括号括着数字不算是元组,能运算
print(x)
print(type(x))
# —— 12
# —— <class 'int'>
y = (3,)*4    # 小括号内数字后加逗号,代表元组,*4代表复制四次
print(y)
print(type(y))
# —— (3, 3, 3, 3)
# —— <class 'tuple'>
z = ((3))*4    # 加多一个括号也不能转变成元组
print(z)
print(type(z))
# —— 12
# —— <class 'int'>
  • 使用tuple函数将其他的序列转换为元组
# 1. 列表转换为元组:
from random import randint
a = [randint(-10, 10) for _ in range(10)]
print(a)
# —— [-6, -9, 4, 3, -10, -10, 9, -7, 2, 6]
print(tuple(a))    # 把列表转换为元组
# —— (-6, -9, 4, 3, -10, -10, 9, -7, 2, 6)

# 2. range函数
print(list(range(6)))
# —— [0, 1, 2, 3, 4, 5]
print(tuple(range(6)))
# —— (0, 1, 2, 3, 4, 5)

# 3. 字符串
import string
print(string.ascii_lowercase[:7])    # 从ascii码切片提前a到g的小写英文字母
# —— abcdefg
print(tuple(string.ascii_lowercase[:7]))
# —— ('a', 'b', 'c', 'd', 'e', 'f', 'g')
print(tuple('abcdefg'))    # 输出相当于遍历字符串里面的每个元素(即输出的每个元素都为字符串)
# —— ('a', 'b', 'c', 'd', 'e', 'f', 'g')

元组和列表的区别

  1. 元组中数据一旦定义了就不允许修改了
  2. 元组中没有append()、extend()、insert()等方法,不能向元组中添加元素
  3. 元组中没有pop()、move()、clear()等方法,不能删除元组中的元素
  4. 从效果上来看,tuple函数时冻结列表,list函数时融化列表
  • 元组名.clear():元组清空
a = list(range(6))
a.clear()
print(a)
# —— []

元组优点:

  1. 元组的速度要比列表快
  2. 元组对数据进行“写保护”,让代码更加安全
  3. 元组可以用作字典的键,还可以作为函数的返回值返回(返回多个值)
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容