热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

python数据结构学习整理元组

元组的定义-元组是有序的不可变对象的集合-元组使用下括号包围,各个对象之间使用逗号分隔-元组是异构的,可以包含多种数据类型元组的使用-创建1.直接使用逗号分隔#1.直接使

"""元组的定义
- 元组是有序的不可变对象的集合
- 元组使用下括号包围,各个对象之间使用逗号分隔
- 元组是异构的,可以包含多种数据类型
"""



  • 元组的使用-创建

1. 直接使用逗号分隔

# 1. 直接使用逗号分隔
tup1 = 1, 2, 3, 4, 5
print(type(tup1), tup1)

2. 通过小括号填充元素

# 2. 通过小括号填充元素
tup2 = (1, 2, 3, 4, 5)
print(type(tup2), tup2)

3. 通过构造函数tuple(iterable)

# 3. 通过构造函数tuple(iterable)
tup3 = tuple()
print(type(tup3), tup3)
# 赋值为字符串对象
tup4 = tuple('testing')
print(type(tup4), tup4)
# 赋值为列表对象
tup5 = tuple([1, 2, 3, 4, 5])
print(type(tup5), tup5)

4. 注意:单元素元组,逗号不可或缺

# 4. 注意:单元素元组,逗号不可或缺
tup6 = 1,
print(type(tup6), tup6)
tup7
= (1,)
print(type(tup7), tup7)
# 若不加逗号,则返回的是一个int类型的值
tup8 = (8)
print(type(tup8), tup8)



  • 元组的使用-索引

"""元组的使用: 索引"""
tup9
= tuple("hefei")
# 1. 正向索引
print(tup9[2])
# 2. 反向索引
print(tup9[-2])



  • 元组的使用-切片

"""元组的使用:切片
- 切片[start:stop:step]
- 三个值都是可选的,非必填
- start值:指示开始索引值,如果没有指定,则默认开始值为0;
- stop值: 指示到哪个索引值结束,但不包括这个结束索引值。如果没有指定,则取列表允许的最大索引值;
- step值: 步长值指示每一步大小,如果没有指定,则默认步长为1
"""

# 1. [start:stop:step]
tup10 = tuple("hefeiwtt")
print(tup10)
print(tup10[0:3:1])
# 2. 将元组反转
print(tup10[::-1])



  • 元组的方法-index()

"""元组常用方法index()
- index(item)
- 入参:对象item
- 返回:与目标元素相匹配的首个元素的索引
- 目标必须在元组中存在的,否则会报错
"""

tup11 = tuple("hefeiwtt")
# 1. index(item)
print(tup11.index('t'))
# 2. 不存在,会报ValueError错误
#
print(tup11.index('o'))



  • 元组的方法-count()

"""元组常用方法count()
- count(item): 返回某个元素出现的次数
- 入参: 对象item
- 返回: 次数
"""

# 1. count(item)
tup12 = tuple("hefeiwtt")
print(tup12.count('t'))



  • 元组解包

"""元组解包
- 把一个可迭代对象里的元素,一并赋值到由对应的变量组成的元组中
"""

tup13 = 1, 2, 3
# 1. 传统逐个赋值
a = tup13[0]
b
= tup13[1]
c
= tup13[2]
print(a, b, c)
# 2. 解包平行赋值
a, b, c = tup13
print(a, b, c)



  • 元组与列表

"""元组和列表
- 相同点:
- 都是有序的
- 都是异构的,能够包含不同类型的对象
- 都支持索引和切片
- 区别
- 声明方式不同,元组使用(),列表使用[]
- 列表是可变的,元组是不可变的
"""

推荐阅读
  • 安装mysqlclient失败解决办法
    本文介绍了在MAC系统中,使用django使用mysql数据库报错的解决办法。通过源码安装mysqlclient或将mysql_config添加到系统环境变量中,可以解决安装mysqlclient失败的问题。同时,还介绍了查看mysql安装路径和使配置文件生效的方法。 ... [详细]
  • 本文介绍了lua语言中闭包的特性及其在模式匹配、日期处理、编译和模块化等方面的应用。lua中的闭包是严格遵循词法定界的第一类值,函数可以作为变量自由传递,也可以作为参数传递给其他函数。这些特性使得lua语言具有极大的灵活性,为程序开发带来了便利。 ... [详细]
  • 本文介绍了Python异常的捕获、传递与抛出操作,并提供了相关的操作示例。通过异常的捕获和传递,可以有效处理程序中的错误情况。同时,还介绍了如何主动抛出异常。通过本文的学习,读者可以掌握Python中异常处理的基本方法和技巧。 ... [详细]
  • Java实战之电影在线观看系统的实现
    本文介绍了Java实战之电影在线观看系统的实现过程。首先对项目进行了简述,然后展示了系统的效果图。接着介绍了系统的核心代码,包括后台用户管理控制器、电影管理控制器和前台电影控制器。最后对项目的环境配置和使用的技术进行了说明,包括JSP、Spring、SpringMVC、MyBatis、html、css、JavaScript、JQuery、Ajax、layui和maven等。 ... [详细]
  • 本文是一位90后程序员分享的职业发展经验,从年薪3w到30w的薪资增长过程。文章回顾了自己的青春时光,包括与朋友一起玩DOTA的回忆,并附上了一段纪念DOTA青春的视频链接。作者还提到了一些与程序员相关的名词和团队,如Pis、蛛丝马迹、B神、LGD、EHOME等。通过分享自己的经验,作者希望能够给其他程序员提供一些职业发展的思路和启示。 ... [详细]
  • 开发笔记:加密&json&StringIO模块&BytesIO模块
    篇首语:本文由编程笔记#小编为大家整理,主要介绍了加密&json&StringIO模块&BytesIO模块相关的知识,希望对你有一定的参考价值。一、加密加密 ... [详细]
  • Python字典推导式及循环列表生成字典方法
    本文介绍了Python中使用字典推导式和循环列表生成字典的方法,包括通过循环列表生成相应的字典,并给出了执行结果。详细讲解了代码实现过程。 ... [详细]
  • 本文讨论了Alink回归预测的不完善问题,指出目前主要针对Python做案例,对其他语言支持不足。同时介绍了pom.xml文件的基本结构和使用方法,以及Maven的相关知识。最后,对Alink回归预测的未来发展提出了期待。 ... [详细]
  • Centos7.6安装Gitlab教程及注意事项
    本文介绍了在Centos7.6系统下安装Gitlab的详细教程,并提供了一些注意事项。教程包括查看系统版本、安装必要的软件包、配置防火墙等步骤。同时,还强调了使用阿里云服务器时的特殊配置需求,以及建议至少4GB的可用RAM来运行GitLab。 ... [详细]
  • 本文介绍了使用Python根据字典中的值进行排序的方法,并给出了实验结果。通过将字典转化为记录项,可以按照字典中的值进行排序操作。实验结果显示,按照值进行排序后的记录项为[('b', 2), ('a', 3)]。 ... [详细]
  • Python如何调用类里面的方法
    本文介绍了在Python中调用同一个类中的方法需要加上self参数,并且规范写法要求每个函数的第一个参数都为self。同时还介绍了如何调用另一个类中的方法。详细内容请阅读剩余部分。 ... [详细]
  • Python语法上的区别及注意事项
    本文介绍了Python2x和Python3x在语法上的区别,包括print语句的变化、除法运算结果的不同、raw_input函数的替代、class写法的变化等。同时还介绍了Python脚本的解释程序的指定方法,以及在不同版本的Python中如何执行脚本。对于想要学习Python的人来说,本文提供了一些注意事项和技巧。 ... [详细]
  • 本文介绍了在Win10上安装WinPythonHadoop的详细步骤,包括安装Python环境、安装JDK8、安装pyspark、安装Hadoop和Spark、设置环境变量、下载winutils.exe等。同时提醒注意Hadoop版本与pyspark版本的一致性,并建议重启电脑以确保安装成功。 ... [详细]
  • 本文介绍了如何使用Python正则表达式匹配MATLAB的函数语法,包括多行匹配和跨行签名的处理方法。同时,作者还分享了自己遇到的问题和解决方案。 ... [详细]
  • 本文介绍了Python版Protobuf的安装和使用方法,包括版本选择、编译配置、示例代码等内容。通过学习本教程,您将了解如何在Python中使用Protobuf进行数据序列化和反序列化操作,以及相关的注意事项和技巧。 ... [详细]
author-avatar
聆听最遥远的歌声
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有