专栏首页python3Python基础之元组

Python基础之元组

元组初识

元组的认识

首先,我们来认识一下元组:

# 定义一个元组
uesr_tuple = ("zhangsan", "lisi", "wangwu")
# 定义一个空元组
empty_tuple = ()

元组的作用和定义

  • 通过前面的学习,我们知道,列表通常用来存储相同类型的数据;而元组在实际开发中,通常用来存储不同类型的数据
  • 元组(Tuple)与列表相似,不同之处在于元组的元素不能修改
  • 元组表示多个元素组成的序列;用于存储一串信息,不同数据之间用逗号隔开;
  • 元组的索引从0开始;

元组的定义语法

变量名 = (数据1, 数据2, 数据3,...)
eg:
uesr_tuple = ("zhangsan", "lisi", "wangwu")

定义元组和取值

# 定义一个常规元组
user_tuple = ("xiaoming", 18, 175)
# 注意,取值时,索引不能超过元组的元素数量范围,否则报错
user_tuple[0]
'xiaoming'
user_tuple[2]
175

# 定义空元组;
empty_tuple = ()
type(empty_tuple)  # tuple

# 定义一个单元素元组;
# 如果元组中只有一个数据,要在那一个数据后面加逗号,否则该元组变量会被python解释器认为是括号内数据的数据类型;
single_tuple = (5)
type(single_tuple)  # int

single_tuple = (5,)
type(single_tuple)  # tuple

元组的操作函数

查看元组操作函数

在ipython交互式下,新建一个元组empty_tuple;empty_tuple. 按一下tab键,即可查看元组函数

In [1]: t_tuple = ()   

In [2]: t_tuple.
t_tuple.count  t_tuple.index  

In [2]: t_tuple.

由此可见,元组自带的操作函数只有两个:

t_tuple.count  t_tuple.index 

取值和取索引(index)

user_info = ("xiaoming", 20, 181, "xiaoming")

print(user_info[1])  # 10
# 已经知道元组内容,希望获取该内容在元组中的位置
# 如果有两个相同的数据,取索引会取出现的第一个
print(user_info.index("xiaoming"))  # 0

统计计数(count,len)

user_info = ("xiaoming", 20, 181, "xiaoming")
# 使用元组自带的函数统计元素出现个数
print(user_info.count("xiaoming"))  # 2

# 使用关键字 统计元组中的元素个数
print(len(user_info))  # 4

元组其他扩展

元组 循环遍历

元组遍历就是 从头到尾 依次从元组中取数据; 每次循环都将 从元组中顺序的读取出来的数据放在临时变量中,然后执行相同的操作。 使用for进行迭代遍历。

user_tuple = ["zhangsan", 20, 181]
for i in user_tuple:
    # 因为通常元组的元素数据类型不同,所以一般很少遍历元组做操作,
    # 除非确定元组中每一个元素的数据类型
    print(i)

在Python中,可以使用for循环遍历所有非数字型类型的变量:列表,元组,字典以及字符串

元组应用场景

  • 函数的参数和返回值;一个函数可以接收任意多个参数,或者一次返回多个数据。
  • 格式字符串,格式化字符串后面的()本质上就是一个元组。
  • 保护数据安全,列表不能被修改。

元组和格式化字符串

格式化后面的括号和内容,本质上就是元组;我们可以先定义一个元组,然后在格式化后面%元组,一样能输出; 同时,我们甚至可以将print括号里面的函数拿出来,定义成一个变量,再用print输出。

# 四者的输出结果都一样
# zhangsan 的年龄是 20, 身高是 181
name = "zhangsan"
age = 20
height = 181
print("%s 的年龄是 %d, 身高是 %d" % (name, age, height))

userinfo = ("zhangsan", 20, 181)

print("%s 的年龄是 %d, 身高是 %d" % (userinfo[0], userinfo[1], userinfo[2]))

# 也可以这样玩
print("%s 的年龄是 %d, 身高是 %d" % userinfo)

# 还可以这样玩
info = "%s 的年龄是 %d, 身高是 %d" % userinfo
print(info)

元组和列表之间的转换

元组转列表:list() 列表转元组:tuple()

num_list = [2,1,4,3]
type(num_list)  # list

num_tuple = tuple(num_list)
type(num_tuple)  # tuple

num_list2 = list(num_tuple)
type(num_list2)  # list

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • Python之元组

    py3study
  • Python基础知识: 元组

    tup1 = ('physics', 'chemistry', 1997, 2000); tup2 = (1, 2, 3, 4, 5 ); tup3 = "a"...

    py3study
  • 4.91Python数据类型之(6)元组

    py3study
  • Python | 5分钟搞定 Python3 元组

    元组(tuple)是一种静态的(immutable)或者说是不可变(unchangeable)的数据结构,里面的元素按照一定的顺序排列。它是静态的,所以元组里的...

    用户1634449
  • 【python高级编程】namedtuple用法--给元组中的每个元素命名

    给每个元组中的元素命名,我们就可以使用名字去访问对应元素,相对于索引访问,这样可以大大提高程序的可读性。

    用户7886150
  • python_元组 学习

    与字符串一样,元组之间可以使用 + / * 符号进行运算,这就意味着他们可以组合和复制,运算后会生成一个新的元组

    Mirror王宇阳
  • python中元组的用法整理

    元组:tuple 内部只有两个可以操作的函数[count()/index()],一个是查看一个数据在元组中出现的总数另一个是查看。

    砸漏
  • Python基础知识: 元组

    tup1 = ('physics', 'chemistry', 1997, 2000); tup2 = (1, 2, 3, 4, 5 ); tup3 = "a"...

    py3study
  • 快速学习-Python元组

    cwl_java
  • Python入门(10)

    元组(tuple)和列表(list)很相似,但是,列表允许并且提供了方法来改变它的值,而元组是不可改变的,即不允许你改变它的值,这应该也是它没有方法的部分原因。...

    高一峰

扫码关注云+社区

领取腾讯云代金券