python基础知识之元组

元组是什么?

  • 你能够把它看做是只读的列表,由于元组不可改变,可是要注意,若是元组中含有列表元素,则该列表元素是可变的,通俗地讲就是“儿子不可变,可是孙子可变”
  • 因为元组不可变,因此对于增删改查这四种标准操做来说只有查能实现,元组的查询操做很简单

建立元组

能够经过直接赋值的方式建立元组,用逗号间隔元素,能够用括号括起来,但这不是必要的,重要的是逗号,好比:app

a = 1,2,3
b = (1,2,3)
print(type(a))
print(type(b))
对于a和b两种建立方式是等价的,a和b的类型都是元组,输出结果为:
<class 'tuple'>
<class 'tuple'>

可是若是建立单个元素的元组,则必须在后面多加一个逗号,好比:函数

a = 1,
print(type(a))
输出结果为:
<class 'tuple'>

在数字1后面加上一个逗号,则它的类型就是元组,不然它的类型就是int

而若是只用括号的话,则不是元组:
a = (1)
print(type(a))
输出结果为:
<class 'int'>
因此更加说明了括号不是重要的,重要的是逗号。

访问元组

能够方便地用索引以及切片的方法来访问元组:code

a = 1,2,3,4,5,6,7
print(a[1::2])
输出为:
(2, 4, 6)

修改元组

元组自己是不可修改的,可是若是其中包含的元素可变的话,则能够对该元素内部修改,好比:对象

a = 1,2,3,[2,3,4]
a[3].append('new')
print(a)
输出为:
(1, 2, 3, [2, 3, 4, 'new'])
虽然a是元组,可是索引3的元素是列表,这时能够对该列表进行修改。

元组运算符

可与使用加号来链接两个元组索引

a = 1,2,3
b = 4,5,6
c = a + b
print(c)
输出为:
(1, 2, 3, 4, 5, 6)

也能够使用乘号:class

a = 1,2,3
b = a*4
print(b)
输出为:
(1, 2, 3, 1, 2, 3, 1, 2, 3, 1, 2, 3)

固然也能够用成员运算符in方法

通用地能够使用del删除元组查询

元组相关内置函数

len() 计算元组元素个数。
max() 返回元组中元素最大值
min() 返回元组中元素最小值。生成器

tuple(可迭代对象) 将可迭代对象转换为元组。co

r1 = (i**2 for i in range(10))
r2 = range(10)
a = tuple(r1)
b = tuple(r2)
print('a:',a)
print('b:',b)
输出为:
a: (0, 1, 4, 9, 16, 25, 36, 49, 64, 81)
b: (0, 1, 2, 3, 4, 5, 6, 7, 8, 9)
本例中r1是生成器,r2是可迭代对象。均可以用tuple()转换为元组。
相关文章
相关标签/搜索