Python序列应用知识回顾

Python序列应用

1.序列

序列是一块用于存放多个值的连续内存空间,并且按一定顺序排列。序列结构有列表、元组、集合、字典和字符串。Python对序列中列表、元组、字符串有索引、切片、相加和相乘操作,可以通过关键字in检查某个元素是否为序列的成员。

(1)索引

序列中的每个元素都有一个编号被称为索引,通过索引可以访问序列中的任何元素。索引类似C语言数组中的下标从0开始表示第一个元素,依次递增,但索引可以为负数
,例如:-1表示最后一个元素。

(2)切片

切片是访问序列中元素的一种方法,可以访问一定范围内的元素。通过切片可以生成一个新的序列。格式如下:

name[start:end:step]
'''
name:表示序列的名称
start:表示切片开始的位置
end:表示切片的截止位置
step:表示切片的步长
'''

通过切片可以截取序列上任意一处的信息,比如一个字符串可以通过切片生成另外一个字符串;一个列表可以通过切片,输出指定位置的元素。可以说是很方便的功能。

(3)相加和相乘

Python中,多个相同类型的序列可以相加成一个新序列。一个序列可以乘以一个数字n,也会生成一个重复这个序列元素n次的新序列。

2.列表

Python中的列表是由一系列特定顺序排列的元素组成的,是可变序列。列表元素可以是整数、实数、字符串、列表、元组等。创建列表格式:

\\name = [element1,element2,……]  #可以通过del name删除列表

(1)遍历列表

遍历有直接通过for循环或者是通过for循环和enumerate()函数方式。
直接遍历格式:

\\for item in name:
    print(item)

使用for循环和enumerate()函数遍历:

\\for index,item in enumerate(name):
    print(index,item)

(2)添加、修改和删除列表元素

操作类型 使用方式 作用
添加元素 name.append(元素) 在列表末尾追加元素
添加元素 name.extend(列表) 将一个列表中全部元素添加到另一个列表的后面
修改元素 name[i] = 元素 修改索引i所对应的元素
删除元素 del name[i] 删除索引i所对应的元素
删除元素 name.remove(元素) 删除指定元素

(3)对列表进行统计和计算

使用方式 作用
name.count(元素) 获取指定元素出现的次数
name.index(元素) 获取指定元素首次出现的下标
sum(name) 统计数值列表的元素和
name.sort() 对列表进行排序
name.sorted() 生成一个排序后的新列表

(4)列表推导式

Python中有列表推导式可以快速生成一个列表。具体可通过格式:

\\list = [expression for var in range] #expression为表达式,var为变量,range为被执行的对象
  list = [expression for var in range if condition] #可以通过添加条件,筛选信息

3.元组

Python中元组是由一系列按特定顺序排列的元素组成的不可变序列,元素也可以是整数、实数、字符串、列表等。因此元组类似列表,只不过元组不能进行添加、修改、删除操作。

4.字典

字典类似列表,只不过是无序的可变序列,字典通过键来读取并且键必须唯一、不可变。字典的格式为

\\dict = {'key1':'value1','key2':'value2',……} #del dict 删除字典

还可以通过映射函数创建字典,格式为:dict = dict(zip(list1,list2))。zip()函数可以将多个列表和元组对应位置组合成元组。遍历字典和遍历列表不同,需要使用dict.items()方法获取“键-值对”的元组表,再进行遍历输出。字典元素的添加、修改和删除都可以通过键来实现。添加和修改元素:dict[key] = ‘value‘;删除元素:del dict[key]

5.集合

Python中有可变集合和不可变集合,我学习的是可变集合。集合可以通过name = {}直接创建,也可以通过set()函数创建,可变集合中元素是无序、不重复即唯一的。向集合中添加元素使用name.add()函数,删除则是name.remove()。集合中最常用的就是进行交集“&”、并集“|”、差集“-”和对称差集“^”运算。

总结:

四种序列的区别

序列类别 是否可变 是否重复 是否有序 定义符号
列表 可变 可重复 有序 []
元组 不可变 可重复 有序 ()
字典 可变 可重复 无序 {‘key‘:‘value‘}
集合 可变 不可重复 无序 {}

个人感觉序列是Python中很重要的基础部分,用法简单方便快捷但是函数、格式较多,需要多加练习运用。

原文地址:https://www.cnblogs.com/trainking-star/p/12234121.html

时间: 2024-10-06 21:56:16

Python序列应用知识回顾的相关文章

python爬虫主要就是五个模块:爬虫启动入口模块,URL管理器存放已经爬虫的URL和待爬虫URL列表,html下载器,html解析器,html输出器 同时可以掌握到urllib2的使用、bs4(BeautifulSoup)页面解析器、re正则表达式、urlparse、python基础知识回顾(set集合操作)等相关内容。

本次python爬虫百步百科,里面详细分析了爬虫的步骤,对每一步代码都有详细的注释说明,可通过本案例掌握python爬虫的特点: 1.爬虫调度入口(crawler_main.py) # coding:utf-8from com.wenhy.crawler_baidu_baike import url_manager, html_downloader, html_parser, html_outputer print "爬虫百度百科调度入口" # 创建爬虫类class SpiderMai

【汇总】Python 编程核心知识体系

[汇总]Python 编程核心知识体系 大神著作,源自:https://woaielf.github.io/2017/06/13/python3-all/ 本文主要涵盖了 Python 编程的核心知识(暂不包括标准库及第三方库,后续会发布相应专题的文章). 首先,按顺序依次展示了以下内容的一系列思维导图:基础知识,数据类型(数字,字符串,列表,元组,字典,集合),条件&循环,文件对象,错误&异常,函数,模块,面向对象编程: 接着,结合这些思维导图主要参考的资料,分享一下我的学习体验,一方面

概率与统计 知识回顾(二) 一维随机变量及概率分布

1 随机变量的概念 顾名思义,随机变量就是“其值随机会而定”的变量.随机变量的反面是“确定性变量”,即其值遵循某种严格的规律的变量,比如从北京到上海的距离.但是从绝对意义上讲,许多通常视为确定性变量的量,本质上都有随机性,只是由于随机性干扰不大,以至在所要求的精度之内,不妨把经作为确定性变量来处理. 根据随机变量其可能取的值的全体的性质,可以把随机变量分为2大类,一类是离散型随机变量:一类是连续型随机变量.但是连续型变量这个概念只是数学上的抽象,因为任何量都有单位,都只能在该单位下量到一定的精度

JS基础知识回顾:ECMAScript的语法(二)

ECMAScript中有五种简单数据类型(也称为基本数据类型):Undefined.Null.Boolean.Number.String ECMAScript还有一种复杂数据类型——Object,Object本质上是由一组无序的名值对组成的. ECMAScript不支持任何创建自定义类型的机制,而所有值最终都将是上述六种数据类型之一,由于ECMAScript的数据类型具有动态性,因此的确没有再定义其他数据类型的必要了. 监狱ECMAScript是松散类型的,因此需要有一种手段来检测给定变量的数据

C#知识回顾

Main函数是什么? a) 程序入口函数 在程序中使用Main函数有什么需要注意的地方? a) Main函数不能变,有且只有一个 CLR是什么? a) 公共语言运行时 b)  Common Language RunTime 程序集是什么? a) 编译后代码的集合.(包括exe和dll). 加载项目里所有的类到内存,并找到其中的主函数,并作为默认的启动函数调用执行. 当运行一个程序集的时候,CLR做了什么事情? a) 加载项目所有的类到内存,并找到其中的主函数作为默认的启动函数调用执行,但是,如果

java基础知识回顾之---java StringBuffer类

/*         * StringBuffer:就是字符串缓冲区,线程安全.         * 用于存储数据的容器.         * 特点:         * 1,长度的可变的.          * 2,可以存储不同类型数据.         * 3,最终要转成字符串进行使用.         * 4,可以对字符串进行修改.         *          * 构造方法:         * StringBuffer() :构造一个其中不带字符的字符串缓冲区,其初始容量为 1

【Java】数组知识回顾

package another; import java.util.Arrays; import java.util.List; /** * 数组知识回顾 * @author ChristineBassoon */ public class Array { public static void main(String[] args) { //1. 新建数组的三种方式 int[] arr1 = new int[3]; int[] arr2 = {3,2,4,1}; int[] arr3 = new

java基础知识回顾之java Thread类学习(八)--java多线程通信等待唤醒机制经典应用(生产者消费者)

 *java多线程--等待唤醒机制:经典的体现"生产者和消费者模型 *对于此模型,应该明确以下几点: *1.生产者仅仅在仓库未满的时候生产,仓库满了则停止生产. *2.消费者仅仅在有产品的时候才能消费,仓空则等待. *3.当消费者发现仓储没有产品可消费的时候,会唤醒等待生产者生产. *4.生产者在生产出可以消费的产品的时候,应该通知等待的消费者去消费. 下面先介绍个简单的生产者消费者例子:本例只适用于两个线程,一个线程生产,一个线程负责消费. 生产一个资源,就得消费一个资源. 代码如下: pub

java基础知识回顾之java Thread类学习(七)--java多线程通信等待唤醒机制(wait和notify,notifyAll)

1.wait和notify,notifyAll: wait和notify,notifyAll是Object类方法,因为等待和唤醒必须是同一个锁,不可以对不同锁中的线程进行唤醒,而锁可以是任意对象,所以可以被任意对象调用的方法,定义在Object基类中. wait()方法:对此对象调用wait方法导致本线程放弃对象锁,让线程处于冻结状态,进入等待线程的线程池当中.wait是指已经进入同步锁的线程,让自己暂时让出同步锁,以便使其他正在等待此锁的线程可以进入同步锁并运行,只有其它线程调用notify方