元组的使用
什么是元组,简单的理解就是将一堆数据存放到一个容器中,但这个容器有一个特点,就是很固执,一旦定义了之后就不可改变
,从某种意义上来说元组就是不可以改变的列表
,功能和列表类似,同样可以进行切片、修改等操作。
# 1.元组和列表很像,都是用来保存多个数据,使用一个小括号()来表示元组
# 元组和列表的区别在于,列表是可变的,而元组是不可变数据类型
words = ['hello', 'yes', 'good', 'hi'] # 列表,使用[]表示
nums = (9, 4, 3, 1, 9, 7, 6, 9, 3, 9) # 元组,使用()来表示
# 和列表一样,也是一个有序的存储数据的容器
# 可以通过下标来获取元素
print(nums[3]) # 1
# nums[3] = 40 # 报错,元组是不可变数据类型,不能修改不能增加
print(nums.index(7)) # 5 查询下标是7的元素值
print(nums.count(9)) # 4 查询元素9有几个,计次
# 特殊情况1:如何表示只有一个元素的元组呢?
ages = (18) # 这种写法 ages是一个整数,并不是一个元组
print(type(ages)) # <class 'int'>
ages = (18,)
print(ages, type(ages)) # (18,) <class 'tuple'> 如果元组里只有一个元素,要在后面加','
# 特殊情况2:可否前面加tuple强制转换?
# print(tuple(18)) # 报错;tuple是内置类后面指定参数是可迭代对象
print(tuple('helol')) # ('h', 'e', 'l', 'o', 'l')
# 特殊情况3:怎样把列表转换成元组? 元组转换成为列表?
print(tuple(words)) # ('hello', 'yes', 'good', 'hi') tuple list set都可以这样使用
print(list(nums)) # [9, 4, 3, 1, 9, 7, 6, 9, 3, 9]
# 特殊情况4:join命令把元组转换为字符串(set集合也可以用)
heights = ('189', '174', '170') # 用join的话元素只能是字符串
print('*'.join(heights)) # 189*174*170
元组的遍历
# 元组也可以遍历
nums = (9, 4, 3, 1, 9, 7, 6, 9, 3, 9)
for 甲 in nums :
print(甲)
# 9
# 4
# 3
# 1
# 9
# 7
# 6
# 9
# 3
# 9
乙 = 0
while 乙 < len(nums) :
print(nums[乙])
乙 += 1
# 9
# 4
# 3
# 1
# 9
# 7
# 6
# 9
# 3
# 9