第4章 序列的应用

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

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

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

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

4.1 序列

序列类型支持索引、切片、相加、相乘、判断;集合和字典不支持索引、切片、相加、相乘

# 字典不支持索引、切片、相加、相乘
dict1 = {"year":2020,"month":06,"day":21}
dict2 = {"week":"sunday"}
# 索引
print(dict1[0])
KeyError: 0
# 切片
print(dict1[1:])
TypeError: unhashable type: 'slice'
# 相加
print(dict1 + dict2)
TypeError: unsupported operand type(s) for +: 'dict' and 'dict'
# 相乘
print(dict1 * dict2)
TypeError: unsupported operand type(s) for *: 'dict' and 'dict'

1、索引

序列中每一个元素都有一个编号,称为索引。正序下标从0开始,逆序下标从-1开始。

sname[下标]
# 定义列表
list1 = ["Monday","Tuesday","Wednesday","Thursday","Friday","Saturday","Sunday"]
print(list1[0])
print(list1[-1])
# 定义元组
tuple1 = ("Monday","Tuesday","Wednesday","Thursday","Friday","Saturday","Sunday")
print(tuple1[0])
print(tuple1[-1])

2、切片

切片可以访问一定范围内的元素,产生一个新的序列。

sname[start:end:step:]
参数说明:
sname:表示序列的名称
start:表示切片的开始位置
end:表示切片的截止位置
step:表示切片的步长
# 定义列表
list1 = ["Monday","Tuesday","Wednesday","Thursday","Friday","Saturday","Sunday"]
print(list1[0:7:1])
print(list1[0:7:2])
['Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday', 'Sunday']
['Monday', 'Wednesday', 'Friday', 'Sunday']
# 定义元组
tuple1 = ("Monday","Tuesday","Wednesday","Thursday","Friday","Saturday","Sunday")
print(tuple1[0:7:1])
print(tuple1[::-1])
('Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday', 'Sunday')
('Sunday', 'Saturday', 'Friday', 'Thursday', 'Wednesday', 'Tuesday', 'Monday')

3、相加

支持两种相同类型的序列进行相加(连接操作),序列中的元素类型可以不同,相加的结果中不会去除重复的元素。

list1 = ["Monday","Tuesday","Wednesday","Thursday","Friday"]
list2 = ["Saturday","Sunday"]
print(list1+list2)
['Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday', 'Sunday']

4、相乘

使用数字n乘以一个序列会生成新的序列,内容为原来序列被重复n次的结果。

emptylist = [None]*5
print(emptylist)
[None, None, None, None, None]

5、检查某个元素是否是序列的成员

value in sequence
参数说明
value表示要检查的元素,
sequence表示指定的序列

返回结果是布尔值:True、False

# 定义列表
countrylist = ["中国","美国","日本"]
print("中国" in countrylist)
# 定义字典
countrydict = {"中国": "china", "美国": "American", "日本": "Japan"}
print("中国" in countrydict)
print("china" in countrydict.values())
True
True
print(countrydict.values())
dict_values(['china', 'American', 'Japan'])
print(countrydict.keys())
dict_keys(['中国', '美国', '日本'])
print(countrydict.items())
dict_items([('中国', 'china'), ('美国', 'American'), ('日本', 'Japan')])

6、计算序列的长度、最大值、最小值

内置函数 功能
len() 长度
max() 最大值
min() 最小值
list() 将序列转换为列表
str() 将序列转换为字符串
sum() 计算元素和
sorted() 对元素进行排序
reversed() 反向序列中的元素

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

Python3笔记016 - 4.1 序列的更多相关文章

  1. (2)Python3笔记 数据类型之"组"(序列) 与 集合

    一. list [ 列表 ] ---- 任意数据类型的有序排列 1. list 操作类似 str操作 (参考上一节字符串操作) [1,2,3,4] [1,2,'a', True, [2,'b']]   ...

  2. python3笔记目录大纲汇总

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

  3. STL源码剖析读书笔记--第四章--序列式容器

    1.什么是序列式容器?什么是关联式容器? 书上给出的解释是,序列式容器中的元素是可序的(可理解为可以按序索引,不管这个索引是像数组一样的随机索引,还是像链表一样的顺序索引),但是元素值在索引顺序的方向 ...

  4. 小甲鱼Python3笔记

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

  5. DeepLearning.ai学习笔记(五)序列模型 -- week1 循环序列模型

    一.为什么选择序列模型 序列模型可以用于很多领域,如语音识别,撰写文章等等.总之很多优点... 二.数学符号 为了后面方便说明,先将会用到的数学符号进行介绍. 以下图为例,假如我们需要定位一句话中人名 ...

  6. DeepLearning.ai学习笔记(五)序列模型 -- week2 序列模型和注意力机制

    一.基础模型 假设要翻译下面这句话: "简将要在9月访问中国" 正确的翻译结果应该是: "Jane is visiting China in September" ...

  7. Python3笔记——常用技术点汇总

    目录 · 概况 · 安装 · 基础 · 基础语法 · 数据类型 · 变量 · 常量 · 字符编码 · 字符串格式化 · list · tuple · dict · set · if语句 · for语句 ...

  8. Python3 笔记

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

  9. python3笔记

    python3 Python3 基本数据类型 Python 中有六个标准的数据类型: Numbers(数字) Python可以同时为多个变量赋值,如a, b = 1, 2. 一个变量可以通过赋值指向不 ...

随机推荐

  1. Java实现 LeetCode 206 反转链表

    206. 反转链表 反转一个单链表. 示例: 输入: 1->2->3->4->5->NULL 输出: 5->4->3->2->1->NULL ...

  2. Java实现 蓝桥杯VIP 算法提高 陶陶摘苹果2

    算法提高 陶陶摘苹果2 时间限制:1.0s 内存限制:256.0MB 问题描述 陶陶家的院子里有一棵苹果树,每到秋天树上就会结出n个苹果.苹果成熟的时候,陶陶就会跑去摘苹果.陶陶有个30厘米高的板凳, ...

  3. Python 图像处理 OpenCV (6):图像的阈值处理

    前文传送门: 「Python 图像处理 OpenCV (1):入门」 「Python 图像处理 OpenCV (2):像素处理与 Numpy 操作以及 Matplotlib 显示图像」 「Python ...

  4. Java 多线程基础(一)基本概念

    Java 多线程基础(一)基本概念 一.并发与并行 1.并发:指两个或多个事件在同一个时间段内发生. 2.并行:指两个或多个事件在同一时刻发生(同时发生). 在操作系统中,安装了多个程序,并发指的是在 ...

  5. 全网最全postman接口测试教程和接口项目实战~从入门到精通!!!

    Postman实现接口测试内容大纲一览: ​ 一.什么是接口?为什么需要接口? ​ 接口指的是实体或者软件提供给外界的一种服务. 因为接口能使我们的实体或者软件的内部数据能够被外部进行修改.从而使得内 ...

  6. opencl(6)读写传输命令、内存映射命令

    1:将缓存对象的内容读到缓存对象中(从设备到主机) cl_int clEnqueuReadBuffer( cl_command_queue command_queue, //命令队列 cl_mem b ...

  7. 体验SpringBoot(2.3)应用制作Docker镜像(官方方案)

    关于<SpringBoot-2.3容器化技术>系列 <SpringBoot-2.3容器化技术>系列,旨在和大家一起学习实践2.3版本带来的最新容器化技术,让咱们的Java应用更 ...

  8. 异步函数async await在wpf都做了什么?

    首先我们来看一段控制台应用代码: class Program { static async Task Main(string[] args) { System.Console.WriteLine($& ...

  9. curlPost和curlGet 请求链接

    //getcurl get读取数据function curlGet($url){ $UserAgent = 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) App ...

  10. Nginx思维导图

    1. Nginx简介 1.1 nginx概述 1.2 nginx的安装及程序环境 1.3 零复制&五种IO模型 1.4 nginx的基本配置 2. Nginx配置详解 2.1 main配置段详 ...