元组是不可变的

创建元组

  1. 通过小括号()创建元组,注意的是当定义中只有一个元素时不构成元组
  2. t = ('a','b','c')
  3. print(t)
  4. t2 =('a')
  5. type (t2) # str
  6. # tuple 内置函数
  7. str = 'tuple'
  8. lst = [1,2,4,5,2,9,3]
  9. t1 = tuple(lst)
  10. t2 = tuple(str)
  11. print(t1,t2) # ('t','u','p','l','e') (1, 2, 4, 5, 2, 9, 3)

查看和搜索

  1. #可以通过切片的方式对元组进行搜索
  2. t = tuple('hello python') #('h', 'e', 'l', 'l', 'o', ' ', 'p', 'y', 't', 'h', 'o', 'n')
  3. t[0] # 'h'
  4. t[1:3]
  5. t[:-1]

不可变 数据类型

  1. # 因为元组是不可变数据类型,因此不能对它进行变更操作
  2. t = ('a','b','c')
  3. t[0] = 'A' #错误
  4. # 但是可以通过新建元组的方式进行变更
  5. t = tuple('hello python')
  6. t = ('H',) + t[1:]
  7. print(t)

比较 两个元组:从第一个元组进行比较,如果值相等到下一个元素。

  1. (0, 1, 2) < (0, 3, 4) # True
  2. (0, 1, 2000000) < (0, 3, 4) # True

元组赋值

  1. 很多语言需要的更换变量的值

“=”号左边是变量组成的元组,右边为表达式组成的元组。但两侧数量一定要相等。

  1. # 常规更换变量的值的代码
  2. t = a
  3. a = b
  4. b = t
  5. # 但是通过元组可以更优雅的进行转换
  6. a , b = b , a
  7. # 两侧数量必须一致
  8. a, b = 1,2,3 # wrong
  9. #
  10. address = '222222223@qq.com'
  11. e_name , e_domain = address.split('@')
  12. print(e_domain,e_name)

元组当作返回值

一般来说,函数只能返回一个值,但是如果返回值是元组,效果就等于返回多个返回值。

  1. def min_max(t):
  2. return min(t),max(t)
  3. lst = [1,2,4,5,2,9,3]
  4. num_min , num_max = min_max(lst)
  5. print(num_min,num_max)