21.元组内置

文章目录

1.元组

元组可以看着是列表,唯一不同的是,元组内的值不可以被改变。
特性:用小括号括起来,可以存放对个元素,元素与元素之间用逗号隔开。
* 只有一个元素的时候元素后面加上一个逗号,否则这个元素就不是元组。
* 推荐所有容器类型,无论内部有几个元素,要加上逗号,尤其是只有一个值得时候*

元组是不可变类型(元组元素是列表,列表内的值可以被改)。
当元组内部只有一个元素的时候,逗号不能省略。
一个规则,所有容器类型,无论内部有几个元素,都必须要有逗号,尤其是只有一个值得时候。
变量名 = (元素1,)
变量名 = (元素1, 元素2, ···)
省略括号写法
变量名 = 元素1,  
变量名 = 元素1, 元素2, ···

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))

3.类型转换

能被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))

4.特殊情况改值

元组内元素的内存地址不能修改,但如果元素是可变类型,那么元素值可以改。

21.元组内置

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])

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

5.长度

len()函数可以获取元组的元素个数。
tuple1 = (1, 2, 3, 4, [1, 2])
print(len(tuple1))  # 5

6.遍历

for循环遍历出所有的元素。
tuple1 = (1, 2, 3, 4, [1, 2])
for i in tuple1:
    print(i)  

7.获取索引

从左往右查找指定元素的索引,查到就立刻返回,元素不存在则报错。
报错信息: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
上一篇:分布式流式计算框架vortex使用介绍


下一篇:【Scala】09 偏函数 PartialFunction