元组可以看着是列表,唯一不同的是,元组内的值不可以被改变。 特性:用小括号括起来,可以存放对个元素,元素与元素之间用逗号隔开。 * 只有一个元素的时候元素后面加上一个逗号,否则这个元素就不是元组。 * 推荐所有容器类型,无论内部有几个元素,要加上逗号,尤其是只有一个值得时候* 元组是不可变类型(元组元素是列表,列表内的值可以被改)。 当元组内部只有一个元素的时候,逗号不能省略。 一个规则,所有容器类型,无论内部有几个元素,都必须要有逗号,尤其是只有一个值得时候。
变量名 = (元素1,) 变量名 = (元素1, 元素2, ···) 省略括号写法 变量名 = 元素1, 变量名 = 元素1, 元素2, ···
t1 = (1,) t2 = (1) t3 = (1, 2, 3) t4 = 1, t5 = 1, 2, 3 print(type(t1)) print(type(t2)) # int print(type(t3)) print(type(t4)) print(type(t5))
能被for循环遍历的都可以转换为元组类型。
str1 = tuple('hello word!') list1 = tuple(['a', 'b', 'c']) dic1 = tuple({'k1': 'v1', 'k2': 'v2'}) set1 = tuple((1, 2, 3)) print(tuple(str1), type(str1)) print(tuple(list1), type(str1)) print(tuple(dic1), type(dic1)) print(tuple(set1), type(set1))
元组内元素的内存地址不能修改,但如果元素是可变类型,那么元素值可以改。
tuple_1 = (0, 1, 2, [0, 1, 2, 3]) print(tuple_1) # (0, 1, 2, [0, 1, 2, 3]) tuple_1[3].append(4) print(tuple_1) # (0, 1, 2, [0, 1, 2, 3, 4])
元组中每个元素占一个索引,可以从左往右正向取值,从右往左反向取值。 格式:列表[起始值:上限值:步长] 起始值:起始位置。 上限值:上限的位置,只能获取到它的前一位数,不包含它。 步长:默认为正1,可以为负数。 省略索引: 省略第一个索引:相当于使用索引0。 省略第二个索引:相当于使用列表的长度,意味着切片直至列表的末尾。
tuple1 = (1, 2, 3, 4, [1, 2]) print(tuple1[0]) print(tuple1[0:2]) print(tuple1[-1]) print(tuple1[:]) print(tuple1[::-1]) # 倒退写法 print(tuple1[4][1])
1 (1, 2) [1, 2] (1, 2, 3, 4, [1, 2]) ([1, 2], 4, 3, 2, 1) 2
len()函数可以获取元组的元素个数。
tuple1 = (1, 2, 3, 4, [1, 2]) print(len(tuple1)) # 5
for循环遍历出所有的元素。
tuple1 = (1, 2, 3, 4, [1, 2]) for i in tuple1: print(i)
从左往右查找指定元素的索引,查到就立刻返回,元素不存在则报错。 报错信息:ValueError: tuple.index(x): x not in tuple
tuple1 = (1, 2, 3, 4, [5, 6]) print(tuple1.index(1)) # 0
8.统计元素
统计指定的元素个数。
tuple1 = (1, 1, 1, 4, [5, 6]) print(tuple1.count(1)) # 3