第4章 序列的应用

python的数据类型分为:空类型、布尔类型、数字类型、字节类型、字符串类型、元组类型、列表类型、字典类型、集合类型

在python中序列是一块用于存放多个值的连续内存空间。

python内置了5种序列分别是元组、列表、字典、集合、字符串

本章将介绍元组、列表、字典、集合四种序列类型,字符串将在第5章介绍

4.3 元组

元组的所有元素都放在一对中括号"()"中,两个相邻元素间使用逗号","分隔,在内容上,可以将整数、实数、字符串、列表、元组等任何类型的内容放入到元组中,并且元素的类型可以不同,因为它们之间没有任何关系。

元组是不可变序列

4.3.1 元组的创建和删除

1、直接使用()创建元组

tuplename = (element1, element2, ..., elementn)
tuple1 = ("Monday","Tuesday","wednesday","Thursday","Friday","Saturday","Sunday")
print(tuple1)
output:
('Monday', 'Tuesday', 'wednesday', 'Thursday', 'Friday', 'Saturday', 'Sunday')
# 拓展:创建只有一个元素的元组
# 错误的姿势
tuple1 = ("Monday")
print(tuple1)
print(type(tuple1))
output:
Monday
<class 'str'>
# 正确的姿势
tuple1 = ("Monday",)
print(tuple1)
print(type(tuple1))
output:
('Monday',)
<class 'tuple'>

2、创建空元组

emptytuple = ()
print(emptytuple)
print(type(emptytuple))
output:
()
<class 'tuple'>

3、使用tuple()创建数值元组

tuple(data)
tuple1 = tuple(range(10, 20, 1))
print(tuple1)
output:
(10, 11, 12, 13, 14, 15, 16, 17, 18, 19)

4、删除元组

del tuplename
tuple1 = ("Monday","Tuesday","wednesday","Thursday","Friday","Saturday","Sunday")
print(tuple1)
del tuple1
print(tuple1)
output:
('Monday', 'Tuesday', 'wednesday', 'Thursday', 'Friday', 'Saturday', 'Sunday')
NameError: name 'tuple1' is not defined

4.3.2 访问元组元素

1、索引

tuple1 = ("Monday","Tuesday","wednesday","Thursday","Friday","Saturday","Sunday")
print(tuple1[0])
output:
Monday
print(tuple1[-1])
output:
Sunday

2、遍历

tuple1 = ("Monday","Tuesday","wednesday","Thursday","Friday","Saturday","Sunday")
tuple2 = []
for i in tuple1:
tuple2.append(i)
print(tuple2)
output:
['Monday', 'Tuesday', 'wednesday', 'Thursday', 'Friday', 'Saturday', 'Sunday']

4.3.3 修改元组元素

1、连接

连接的内容必须都是元组

tuple1 = ("Monday", "Tuesday", "wednesday")
tuple2 = ("Thursday", "Friday", "Saturday", "Sunday")
tuple3 = tuple1 + tuple2
print(tuple1)
print(tuple2)
print(tuple3)
output:
('Monday', 'Tuesday', 'wednesday')
('Thursday', 'Friday', 'Saturday', 'Sunday')
('Monday', 'Tuesday', 'wednesday', 'Thursday', 'Friday', 'Saturday', 'Sunday')

4.3.4 元组推导式

number = (i for i in range(4))
for i in number:
print(i,end="\n")
print(tuple(number))
output:
0
1
2
3
()

4.3.5 元组与列表的区别

1、列表属于可变序列,它的元素可以随时修改或者删除;元组属于不可变序列,元素不可修改,除非整体替换;

2、列表可以使用append()、extend()、insert()、remove()、pop()等方法实现修改列表元素;

3、列表可以使用切片访问和修改列表中的元素。元组也支持切片,但它只支持通过切片访问元组中元素,不支持修改。

4、元组比列表的访问和处理速度快,所以当只是需要对其中的元素进行访问,而不进行任何修改时,建议使用元组。

5、列表不能作为字典的键,而元组可以。

敬请关注个人微信公众号:测试工匠麻辣烫

Python3笔记018 - 4.3 元组的更多相关文章

  1. python3笔记目录大纲汇总

    篇一.python3基础知识和语句 python3笔记一:python基础知识 python3笔记二:进制转换与原码反码补码 python3笔记三:运算符与表达式 python3笔记四:if语句 py ...

  2. python3入门之列表和元组

    获得更多资料欢迎进入我的网站或者 csdn或者博客园 前面一张主要学习了Python的安装,以及第一个程序helloword的编写,以及简单的输入和输出函数,这章主要介绍序列,列表,元组 序列  这章 ...

  3. python3笔记十:python数据类型-Tuple元组

    一:学习内容 元组概念 元组创建.访问.删除 元组操作 元组方法 二:元组概念 1.本质:是一种有序集合 2.特点:与列表非常相似.一旦初始化就不能修改.使用小括号 三:元组创建 1.创建空元组 tu ...

  4. python3笔记十八:python列表元组字典集合文件操作

    一:学习内容 列表元组字典集合文件操作 二:列表元组字典集合文件操作 代码: import pickle  #数据持久性模块 #封装的方法def OptionData(data,path):    # ...

  5. 小甲鱼Python3笔记

    000-愉快的开始 入门容易,学习难,代码量少. 跨平台: Windows, Mac OS, Linux, UNIX. 应用领域: 操作系统 WEB 3D动画 企业应用 云计算等等. 001-我和Py ...

  6. 廖雪峰Python3笔记

    主要复习过一遍 简介 略 安装 略 *** 第一个Python程序 第一行的注释: # _*_ coding: utf-8 _*_ #!/usr/bin/env python3 print() 可以接 ...

  7. python3笔记(二)Python语言基础

    缩进 要求严格的代码缩进是python语法的一大特色,就像C语言家族(C.C++.Java等等)中的花括号一样重要,在大多数场合还非常有必要.在很多代码规范里面也都有要求代码书写按照一定的规则进行换行 ...

  8. Python3 笔记

    Ubuntu18.04 Python3环境 默认python3已经安装了, 可能是安装其他应用的时候因为依赖关系安装的. 安装pip3, 先sudo apt update 一下, apt-cache ...

  9. Python学习笔记_week2_列表、元组、字典、字符串、文件、i编码

    一. 列表.元组 names=["A","B","C","D"] print(names) print(names[0] ...

随机推荐

  1. SQK Server实现 LeetCode 175 组合两个表

    175. 组合两个表 SQL架构 表1: Person +-------------+---------+ | 列名 | 类型 | +-------------+---------+ | Person ...

  2. Java实现 蓝桥杯VIP 算法提高 复数求和

    算法提高 复数求和 时间限制:1.0s 内存限制:512.0MB 从键盘读入n个复数(实部和虚部都为整数)用链表存储,遍历链表求出n个复数的和并输出. 样例输入: 3 3 4 5 2 1 3 样例输出 ...

  3. StringBuilder的线程为什么不安全

    StringBuffer和StringBuilder的区别在哪里? StringBuffer是线程安全的,StringBuilder是线程不安全的. 那么StringBuilder不安全在哪里?在想这 ...

  4. 记一次mysql修复错误数据问题

    问题描述 之前做的一个服务端配合硬件端的项目,今天突然在微信上跟我讲在管理后台订单列表里的设备编号看不见后3位数字. 原因查找 看了下数据库表发现原因是因为订单表的设备编号长度限制了16位(开发时跟硬 ...

  5. Mac 制作 Linux 启动盘

    本文原始地址:https://sitoi.cn/posts/28583.html 前期准备 一个 Mac 电脑 一个 U 盘(8GB 以上) 下载好 Linux 系统镜像(iso 文件) 具体步骤 挂 ...

  6. WebService之Spring+CXF整合示例

    一.Spring+CXF整合示例 WebService是一种跨编程语言.跨操作系统平台的远程调用技术,它是指一个应用程序向外界暴露一个能通过Web调用的API接口,我们把调用这个WebService的 ...

  7. vue cli3 创建的项目中eslint 配置 问题的解决

    1--   vue cli3 项目文件结构 2-- 注释问题 在eslintrc.js 文件中,将 '@vue/standard' 注释后重启即可: 3-- 配置 eslint 文件 在 vue-cl ...

  8. struts 通配符的使用

    使用通配符可以将配置量降到最低,十分方便 新建一个javaweb项目 在项目中加入Struts.xml( 选中项目右键MyEclipse-->project facets-->Struts ...

  9. Kubernetes日志的6个最佳实践

    本文转自Rancher Labs Kubernetes可以帮助管理部署在Pod中的上百个容器的生命周期.它是高度分布式的并且各个部分是动态的.一个已经实现的Kubernetes环境通常涉及带有集群和节 ...

  10. 描述一下 JVM 加载 class 文 件的原理机制?

    JVM 中类的装载是由 ClassLoader 和它的子类来实现的, Java ClassLoader 是一个重要的 Java 运行时系统组件.它负责在运行时查找和装入类文件的类.