元组
什么是元组(tuple)
-
python提供的容器型数据类型,不可变并且有序的序列。(元组就是不可变的列表)
-
可变的容器支持增删改查
-
不可变的容器不支持增删改,只支持查
-
有序 - 每个元素对应一个确定的下标
字面量和元素
-
(元素1,元素2,元素3...)
-
其中的元素可以是任何数据类型,并且类型可以不一样,同样的元素可以有多个
point = (100, 30)
print(point, type(point))
书写注意:
-
空元组:()
tuple = ()
print(tuple, type(tuple))
-
只有一个元素的元组,必须加逗号
tuple2 = (100, )
print(tuple2, type(tuple2))
-
赋值元组可以不用括号,也是一个元组
tuple3 = 1, 2, 3
print(tuple3, type(tuple3))
获取元素
- 元组获取元素和列表是一样的
tuple4 = ('成都', '达州', '绵阳', '南充', '广元')
\# 获取单个
print(tuple4[1], tuple4[-1])
\# 获取部分
print(tuple4[0:3])
print(tuple4[::-1])
\# 遍历
for city in tuple4:
print(city)
for index in range(len(tuple4)):
print(tuple4[index])
- 补充:特殊的获取方式
- 变量1, 变量2, .... = 元组 ----> 用前面的变量依次获取元组中元素的值。(要求前面变量的个数和元组元素的个数保持一致)
point = (100, 200, 10)
x, y, z =point
print(x, y)
- 变量1, *变量2 = 元组 -- 通过带*号的变量只能有一个,不带星号的可以有多个
name, \*scores = ('小明', 100, 97, 67, 99)
print(name, scores)
\# scores返回列表
\# 补充:\*的用法 - 解包
nums1 = (1, 2, 3)
nums2 = [1, 2, 3]
print(\*nums1, \*nums2)
"""
相关运算(和列表一样)
-
+, *
-
in / not in
-
len(), max(), min(), sun(), tuple()
tuple1 = (1, 2, 3)
tuple2 = ('aa', 'bb')
print(tuple1 + tuple2)
print(tuple1 \* 3)
print(1 in tuple1)
排序
-
sorted(序列) - 对序列中的元素排序,产生一个新的列表(不管什么序列,排完后产生一个新的列表)
-
注意:列表.sort() - 直接修改原列表 sorted(列表) - 产生新列表
nums = (1, 34, 89, 9)
num\_nums = sorted(nums, reverse = True)
print(num\_nums)
\# .join的使用,.join(iterable(序列)),将序列中的元素取出,用指定的字符串连接在一起,但序列里不能有数字
new\_strs= sorted('asfsdfsdfs')
print(new\_strs)
a = ''.join(new\_strs)
print(a)
网友评论