第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实现第五届蓝桥杯六角幻方

    六角幻方 里面的*在编写的时候会自动编译成线,这里就用代码的格式把题目弄过来 把 1 2 3 ... 19 共19个整数排列成六角形状,如下: * * * * * * * * * * * * * * ...

  2. java实现第九届蓝桥杯三角形面积

    三角形面积 小明最近在玩一款游戏.对游戏中的防御力很感兴趣. 我们认为直接影响防御的参数为"防御性能",记作d,而面板上有两个防御值A和B,与d成对数关系,A=2^d,B=3^d( ...

  3. 【String注解驱动开发】如何按照条件向Spring容器中注册bean?这次我懂了!!

    写在前面 当bean是单实例,并且没有设置懒加载时,Spring容器启动时,就会实例化bean,并将bean注册到IOC容器中,以后每次从IOC容器中获取bean时,直接返回IOC容器中的bean,不 ...

  4. jQuery实现瀑布流布局

    <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title> ...

  5. 附022.Kubernetes_v1.18.3高可用部署架构一

    kubeadm介绍 kubeadm概述 参考附003.Kubeadm部署Kubernetes. kubeadm功能 参考附003.Kubeadm部署Kubernetes. 本方案描述 本方案采用kub ...

  6. 通过Nginx、Consul、Upsync实现动态负载均衡和服务平滑发布

    前提 前段时间顺利地把整个服务集群和中间件全部从UCloud迁移到阿里云,笔者担任了架构和半个运维的角色.这里详细记录一下通过Nginx.Consul.Upsync实现动态负载均衡和服务平滑发布的核心 ...

  7. 破解版BrupSuite安装及其问题解决及环境部署

    一 下载 BrupSuite_pro_v1.7.37的压缩包百度网盘链接: https://pan.baidu.com/s/1KkuseybjpuHo-6V4_wh9vw 提取码: 3vcs 说明一下 ...

  8. MongoDB——基本使用及集群搭建

    文章目录 什么是MongoDb? 基本概念 与关系型数据库的比较 Mongo的高效性 文件存储 基本使用 启动/连接服务 基础操作命令 高可用集群搭建 概念 环境准备 实践 应用场景 总结 什么是Mo ...

  9. 果然学习好是有道理的,学习Mysql与正则表达式笔记

    正则表达式是用来匹配文本的特殊的字符集合,将一个正则表达式与文本串进行比较,Mysql中用where子句提供支持,正则表达式关键字:regexp1.使用‘|’匹配两个串中的一个 2.使用‘[]’匹配几 ...

  10. 03.DRF-设计方法

    RESTful设计方法 1. 域名 应该尽量将API部署在专用域名之下. https://api.example.com 如果确定API很简单,不会有进一步扩展,可以考虑放在主域名下. https:/ ...