第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实现递归连续数

    递归连续数 以下程序打印出0~9的数字,请补充缺少的代码. public class MyTest { public static void f(int begin, int end) { _____ ...

  2. Python基础语法之“print()”函数

    print()函数是Python入门的第一个必学知识点,它经常被用来调试已写的代码,检验效果,今天小老鼠就带你盘点一下print()函数在Python中如何使用. print()函数的工作流程是这样的 ...

  3. RocketMQ系列(二)环境搭建

    RocketMQ的基本概念在上一篇中给大家介绍了,这一节将给大家介绍环境搭建.RocketMQ中最基础的就是NameServer,我们先来看看它是怎么搭建的. NameServer RocketMQ要 ...

  4. bootargs说明 和 下位机静态ip的设置

    setenv bootargs root=/dev/nfs       nfsroot=192.168.1.8:/opt/rootfs      ip=192.168.1.110:192.168.1. ...

  5. 学而思Java开发岗位面试

    去学而思培优面试了. 有四道笔试题,后面会整理做法. 1.给一个文件夹,用递归的方式统计这个目录及其子目录不同文件类型的个数. 如,输出:jpg:几个文件,txt:几个文件... 2.不适用加减乘除, ...

  6. Cypress系列(22)- 可操作类型的命令 之 select()

    如果想从头学起Cypress,可以看下面的系列文章哦 https://www.cnblogs.com/poloyy/category/1768839.html .select() 在 <sele ...

  7. c++ vector基本函数、排序、查找用法

    vector用法目录: 1.基本用法 2.vector的删除操作 3.vector的sort排序 4.翻转vector中的所有元素 5.find()函数的用法 6.vector实战(这里写的是我在最开 ...

  8. Bestcoder Round8

    4989Summary 既然用C++了就偷懒直接用STL大法了 #include<iostream> #include<algorithm> #include<vecto ...

  9. mysql主从同步失败 Relay log read failure: Could not parse relay log event entry

    mysql: [Warning] Using a password on the command line interface can be insecure. Welcome to the MySQ ...

  10. selenium自动化操作

    在前面爬虫的相关介绍中,我们介绍了如何抓取静态页面信息.但是,在实际的网页浏览过程中,我们可能会经常碰到各种需要进行交互的操作,典型的如输入信息.点击按钮之类. 对于这种场景,之前的静态页面操作方式已 ...