在大型的商业或者游戏网站中,列表式非常重要的数据类型,因为列表可以随时变动或者更新数据。而元组(tuple),这种数据类型结构与列表完全相同,但是与列表最大的差异是,他的元素值和元素个数不可更改,有时也称作不可更改的列表。
定义
列表将元素放在中括号内,元组放在小括号内“()”
info_tuple = ("zhangsan", 18, 1.75, "zhangsan")
元组基本使用
info_tuple = ("zhangsan", 18, 1.75, "zhangsan")
# 1. 取值和取索引
print(info_tuple[0])
# 已经知道数据的内容,希望知道该数据在元组中的索引
print(info_tuple.index("zhangsan"))
# 2. 统计计数
print(info_tuple.count("zhangsan"))
# 统计元组中包含元素的个数
print(len(info_tuple))
元组的遍历
info_tuple = ("zhangsan", 18, 1.75)
# 使用迭代遍历元组
for my_info in info_tuple:
# 使用格式字符串拼接 my_info 这个变量不方便!
# 因为元组中通常保存的数据类型是不同的!
print(my_info)
格式化字符串
info_tuple = ("小明", 21, 1.85)
# 格式化字符串后面的 `()` 本质上就是元组
print("%s 年龄是 %d 身高是 %.2f" % info_tuple)
info_str = "%s 年龄是 %d 身高是 %.2f" % info_tuple
print(info_str)
可以使用全新定义方式修改元组元素
元组的元素不可以修改,但是我们可以进行重新定义对原始数据进行覆盖。
# -*- coding: utf-8 -*-
# @Date: 2020/1/20 21:21
# @Author: Blueheart
# @Blog: https://blog.csdn.net/shengshengshiwo
info_tuple = ("zhangsan", 18, 1.75, "zhangsan")
print("原始元祖元素:")
for my_info in info_tuple:
# 使用格式字符串拼接 my_info 这个变量不方便!
# 因为元组中通常保存的数据类型是不同的!
print(my_info)
info_tuple = ("wangdazhu", 22, 177)
print("修改后的元组元素:")
for my_info in info_tuple:
print(my_info)
方法与函数
应用在列表上的方法和函数如果不会更改元组的内容,则可以将他应用在元组上,如len()
。如果会更改元组的内容,则不可以将他应用到元组,如append()
、insert()
或者pop()
。
info_tuple = ("zhangsan", 18, 1.75, "zhangsan")
print("info_tuple元组的长度是:%d" % len(info_tuple))
info_tuple = ("zhangsan", 18, 1.75, "zhangsan")
info_tuple.append("dadada")
列表与元组数据转换
元组已经转换成列表,可以使用append()
方法。
info_tuple = ("zhangsan", 18, 1.75, "zhangsan")
list_info_tuple = list(info_tuple)
print(list_info_tuple)
list_info_tuple.append("dadada")
print(list_info_tuple)
元组不支持append()
方法,报错。
info_tuple = ("zhangsan", 18, 1.75, "zhangsan")
list_info_tuple = tuple(info_tuple)
print(list_info_tuple)
list_info_tuple.append("dadada")
print(list_info_tuple)