第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. Java实现 蓝桥杯VIP 算法提高 淘淘的名单

    算法提高 淘淘的名单 时间限制:100ms 内存限制:8.0MB 问题描述 by ZBY- ? 淘淘拿到了一份名单,他想对上面的名字进行处理,挑出一些特殊的名字,他请你来帮忙. 淘淘关注以下名字: 如 ...

  2. java实现杨辉三角系数

    ** 杨辉三角系数** (a+b)的n次幂的展开式中各项的系数很有规律,对于n=2,3,4时分别是:1 2 1, 1 3 3 1,1 4 6 4 1.这些系数构成了著名的杨辉三角形: 1 1 1 1 ...

  3. 温故知新-Mysql的体系结构概览&sql优化步骤

    文章目录 Mysql的体系结构概览 连接层 服务层 引擎层 存储层 存储引擎 存储引擎概述 存储引擎特性![存储引擎特性对比](https://img-blog.csdnimg.cn/20200510 ...

  4. 第12章 Java内存模型与线程

    参考<深入理解Java虚拟机> 一.Java内存模型 1.Java内存模型 2.内存间交互操作  流程图: 3.volatile关键字 两个特性: 3.1.保证变脸对所有线程的可见性: 由 ...

  5. ibatis BindingException Parameter 'status' not found. Available parameters are [arg1, arg0, param1, param2] 解决方法

    最近做项目测试mapper接口时出现了下面这个异常,接口的函数参数找不到,网上搜索发现可能是@Param注解问题. 查阅Mybatis官方文档对@Param的解释如下: 在代码中加入, 异常消失 测试 ...

  6. Debian安装NVIDIA显卡驱动

    1. sudo apt-get install nvidia-detect nvidia-detect 输出信息: Detected NVIDIA GPUs: 01:00.0 VGA compatib ...

  7. 启动centos 不带桌面

    方法一:非systemd系统 #runlevel N 5 //表示运行级别为5 #init 3 //将运行级别设为3,此时桌面服务关闭 运行级别说明: 3 多用户模式.允许多用户登录系统,是系统默认的 ...

  8. phpstorm 安装 YUI Compressor 实 结合现自动压缩文件

    YUI compressor 官方: http://yui.github.io/yuicompressor/ 下载的快速入口: https://github.com/yui/yuicompressor ...

  9. Linux 虚拟机详细安装MySQL

    准备工作 下载MySQL 去官网下载MySQL:点我直达 百度云盘地址:链接: https://pan.baidu.com/s/1qBN4r6t8gvq-I4CFfQQ-EA 密码: hei3 检查L ...

  10. php 整数转罗马数字

    class Solution { /** * @param Integer $num * @return String */ function intToRoman($num) { $roman=[' ...