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
Python基础之元组的更多相关文章
- python基础深入(元组、字符串、列表、字典)
python基础深入(元组.字符串.列表.字典) 一.列表 1.追加 >>>list = [1,2,3,4] #用于在列表末尾添加新的对象,只能单个添加,该方法无返回值,但是会修改原 ...
- python基础数据类型--元组(tuple)
python基础数据类型--元组(tuple) 一.元组的定义和特性 定义:与列表相似,只不过就是将[ ] 改成 ( ) 特性:1.可以存放多个值 2.不可变 3.按照从左到右的顺序定义元组元素,下标 ...
- python3速查参考- python基础 4 -> 元组 + 字典 + 字符串 的学习
元组 元组:特点就是内容不可变,算只读的列表,可以被查询,不能被修改 a = 2, print(a) print(type(a)) b = ('a','b','c') print(b[1]) 运行结果 ...
- python基础之元组、文件操作、编码、函数、变量
1.集合set 集合是无序的,不重复的,主要作用: 去重,把一个列表变成集合,就可以自动去重 关系测试,测试两组数据的交集,差集,并集等关系 操作例子如下: list_1 = [1,4,5,7,3,6 ...
- 2.python基础深入(元组、字符串、列表、字典)
一,对象与类 对象: python中一切皆为对象,所谓对象:我自己就是一个对象,我玩的电脑就是对象,玩的手机就是对象. 我们通过描述属性(特征)和行为来描述一个对象的. 在python中,一个对象的特 ...
- python基础之元组(Tuple)、字典(Dictionary)详解
元组定义 元组是另一个数据类型,类似于List(列表). 元组用”()”标识.内部元素用逗号隔开.但是元素不能二次赋值,相当于只读列表. 举例: tuple = ( ‘abcd’, 786 , 2.2 ...
- python基础之元组,集合
一.元组 为何要有元组,存放多个值,元组不可变,更多的是用来做查询 t=(,[,],,)) #t=tuple((,[,],,))) print(type(t)) 元组可以作为字典的key d={(,, ...
- Python基础之元组和字典
一.元组: 1.定义: 内存图: 2.基本操作 3.元组作用: 4.元组基础知识代码 # . 创建空元组 t01 = () t02 = tuple() # . 创建具有默认值的元组 t01 = (,, ...
- python基础-列表元组字典
1.列表和元组 列表可以对数据实现最方便的存储.修改等操作 names=["Alex","tenglan","Eric","Rai ...
随机推荐
- 阿里云或本地部署服务器(一)---nginx本地和服务器代理
具体步骤: 1.nginx下载 2.在G:\nginx-1.15.8\conf/nginx.conf改三处路径:nginx.conf 文件中配置的路径和端口要映射到vue项目工程 a.改 映射端口: ...
- 需求分析&用例编写
一.需求分析? 1.什么是需求 软件产品必须完成的是以及必须具备的品质. 功能性需求:产品必须完成的那些事,要求一定的功能和品质. 例子:淘宝的用户名登录. 非功能性需求:产品必须具备的属性和品质.诸 ...
- xshell6 评估期已过 解决办法
xshell6 评估期已过,因为我下载的版本是evaluation版本,是有期限的.大家可以修改为Home and school use 的版本,这样就不会出现这个提示了.具体的操作步骤如下: 1.前 ...
- 在docker私有仓库如何查看有哪些镜像?
搭建了docker私有仓库,上传了一些镜像,时间长了就会忘了有哪些镜像,在网上查了,有大佬是通过脚本查看的,多厉害! #!/usr/bin/env python#-*- coding:utf-8 -* ...
- LOJ #6050. 「雅礼集训 2017 Day11」TRI
完全不会的数学神题,正解留着以后填坑 将一个口胡的部分分做法,我们考虑计算格点多边形(包括三角形)面积的皮克公式: \[S=a+\frac{1}{2}b-1\text({a为图形内部节点个数,b为边界 ...
- CTF取证方法大汇总,建议收藏!
站在巨人的肩头才会看见更远的世界,这是一篇来自技术牛人的神总结,运用多年实战经验总结的CTF取证方法,全面细致,通俗易懂,掌握了这个技能定会让你在CTF路上少走很多弯路,不看真的会后悔! 本篇文章大约 ...
- IM开发者的零基础通信技术入门(一):通信交换技术的百年发展史(上)
[来源申明]本文原文来自:微信公众号“鲜枣课堂”,官方网站:xzclass.com,原题为:<通信交换的百年沧桑(上)>,本文引用时已征得原作者同意.为了更好的内容呈现,即时通讯网在收录时 ...
- PHP Iterator迭代对象属性
foreach用法和之前的数组遍历是一样的,只不过这里遍历的key是属性名,value是属性值.在类外部遍历时,只能遍历到public属性的,因为其它的都是受保护的,类外部不可见. class Har ...
- [Abp 源码分析]零、文章目录
0.系列文章目录 一.Abp 框架启动流程分析 二.模块系统 三.依赖注入 四.模块配置 五.系统设置 六.工作单元的实现 七.仓储与 Entity Framework Core 八.缓存管理 九.事 ...
- Android项目目录结构模板以及简单说明【简单版】
版权声明:本文为HaiyuKing原创文章,转载请注明出处! 概述 开发Android项目的时候,一般都是一边开发一边根据需求创建目录(包.module),那么我呢就根据以往的项目经验,整理出一个比较 ...