十.列表的操作以及Python运算符

运算符

十.列表的操作以及Python运算符_第1张图片

 

1.比较运算符可以连用,并且含义和我们日常使用完全一致

 

2 位操作

十.列表的操作以及Python运算符_第2张图片

把一个数字转为二进制表示bin()

 

3.位运算符

<<左移1位相当于乘以2,左移2位,相当于乘以4

>>右移1位相当于除以2

十.列表的操作以及Python运算符_第3张图片

注:位运算符比单纯的使用*快的多

 

4.+的操作

1.数字相加 : a+b

2.字符串拼接 :"a"+"b"

3.列表元组等合并 :list+[1,2,3]

 

5.*的操作

1.数字相乘 :a*b

2.字符串赋值

3.列表,元祖等复制: list*3

 

6.复合赋值运算符

十.列表的操作以及Python运算符_第4张图片

 

7.运算符优先级问题

十.列表的操作以及Python运算符_第5张图片

实际使用中,记住如下简单的规则即可,复杂的表达式,一定要使用小括号组合

1.乘除优先加减

2.位运算和算数运算>比较运算符>赋值运算符>逻辑运算符

十.列表的操作以及Python运算符_第6张图片

 

 

序列是一种数据存储方式,用来存储一系列的数据.在内存中,序列就是一块用来存放多个值的连续的空间内存.比如说一个整数序列[10,20,30,40],可以这么表示:

由于Python3中一切都是对象,在内存中实际上是按照如下的方式存储的:

十.列表的操作以及Python运算符_第7张图片

从图示中,我们可以看出序列中存储的是整数对象的地址,而不是整数对象的值.Python中常用的序列结构有:

字符串,列表,元祖,字典,集合

 

列表简介

列表:用于存储任意数目,任意类型的数据集合

列表是内存可变序列,是包含多个元素的有序连续的内存空间.列表定义的标准语法格式:

a=[0,1,2,3]

其中,0,1,2,3这些称之为:列表a的元素

列表中的元素可以各不相同

比如

a=[1,"tang",True]

列表常用的方法

十.列表的操作以及Python运算符_第8张图片

 

十.列表的操作以及Python运算符_第9张图片

 

Python的列表可大可小,根据需要随时增加或减小

 

字符串和列表都是序列类型,一个字符串是一个字符序列,一个列表是任何元素的序列.前面的很多操作字符串的放啊,在列表中也可以找到类似的进行使用

 

列表的创建

 

  • 基本语法[]创建

a=[1,2,True,"abc"]

a=[] #创建一个空的列表对象

 

  • list()创建

使用list()可以将任何可迭代的数据转化成列表

a=list() #创建一个空的列表对象

a =list(range(10))

 

a=list("I love you every day")

 

  • range()创建整数列表

range()可以帮助我们分厂方便的创建整数列表,这在开发中及其有用.语法格式为:

range([start], end [,step])

start 参数:可选.表示起始数字.默认0

end 参数: 必选,表示结尾数字

setp: 可选,表示步长,默认为1

Python3中range()返回的是range()对象,而不是列表.我们需要通过list()方法将其转换成列表对象

十.列表的操作以及Python运算符_第10张图片

例:

 

  • 推导式生成列表

使用列表推导式可以非常方便的创建列表,在开发中经常使用

通过if过滤条件

 

十.列表的操作以及Python运算符_第11张图片

 

列表元素的增加和删除

 

当列表增加和删除元素时,列表会自动进行内存管理,打打减少了程序员的负担.但这个特点涉及到列表的大量移动,效率较低,除非必要,我们一般只在列表的尾部添加元素或删除元素,这会大大提高列表的操作效率.

 

  • append()方法

原地修改列表独享,是真正的列表尾部添加新的元素,速度最快,推荐使用.

 

a=[10,20]

a.append(30)

 

  • +运算符操作

 

并不是真正的尾部添加元素,而是创建新的列表对象;将愿列表的元素和新列表的元素一次赋值到新的列表对象中.这样,会涉及大量的复制操作,对于操作大量元素不建议使用.

 

a=[10,20,30,40]

a = a+[50]

十.列表的操作以及Python运算符_第12张图片

 

  • extend()方法

将目标列表所有的元素添加到本列表的尾部,属于原地操作,不创建新的列表对象.

十.列表的操作以及Python运算符_第13张图片

 

  • insert()插入元素

使用insert()方法可以将指定元素插入到列表的任意指定位置.这样会让插入位置后面的所有元素都进行移动,会影响处理速度.涉及大量元素时,尽量避免使用.类似发生这种移动的函数有:remove(),pop(),del().

它们在删除非尾部元素时也会发生操作位置后面的元素移动

 

 

  • 乘法扩展

使用乘法扩展列表,生成一个新的列表,新列表元素是愿列表的多次重复

适用于乘法操作的还有:字符串,元组.

 

列表元素的删除

 

  • del 删除

删除列表指定位置的元素(指定位置之后的所有元素的索引都-1)增加同样与之相反

十.列表的操作以及Python运算符_第14张图片

 

  • pop()方法

pop()删除并返回指定位置的元素,如果未指定默认位置则默认删除列表的最后一个元素

 

pop(index);指定删除某个位置的元素

 

  • remove()

删除首次出现的指定元素(具体指),若不存在该元素抛出异常

十.列表的操作以及Python运算符_第15张图片

 

列表元素访问和计数

 

  • 通过索引直接访问元素

我们可以通过索引直接访问元素,索引的区间在[0,列表长度-1]这个范围.超过这个范围则会抛出异常

a = [0,10,20,30,40,50,60,70,80,90]

a[2]->20

 

  • index()获得指定元素在列表中首次出现的索引

index()可以获取指定元素首次出现的索引位置.语法是:index(value,[start,[end]]]).

其中:start和end指定了搜索的范围

 

  • count()获取指定元素在列表中出现的次数

count()可以返回指定元素在列表中出现的次数

a = [1,2,5,3,6,8,4,1,2,5,8,6,321,1,2,1]

 

 

  • len()返回列表长度

len()返回列表长度,即列表中包含元素的个数

a = [1,2,5,3,6,8,4,1,2,5,8,6,321,1,2,1]

 

 

成员资格判断:

判断列表中是否存在指定元素,我们可以使用count()方法,返回0则表示不存在,返回大于0则表示存在.但是,一般我们会使用更简洁的in关键字来判断,直接返回True或False

十.列表的操作以及Python运算符_第16张图片

 

 

列表的切片

前面字符串学习的时候,有字符串的切片操作,对于列表的切片操作和字符类似

 

切片是Python序列及其重要的操作,适用于,列表,元组,字符串等等.切片的格式如下

 

切片的slice操作可以让我们快速提取子列表或修改.标准格式为:

[起始偏移量start:终止偏移量 end[:步长 step]]

注:当步长没哟的时候顺便可以省略第二个冒号

 

典型操作(三个变量都是正数)如下:

十.列表的操作以及Python运算符_第17张图片

其它操作(三个变量都是负数)的情况:

十.列表的操作以及Python运算符_第18张图片

切片操作室,起始偏移量和终止偏移量不在[0,字符串长度-1]这个范围,也不会报错.

起始偏移量小于0则会当做0,终止偏移量大于"长度-1"会被当成长度-1.

 

列表的遍历

 

列表排序

 

  • 修改原列表,不创建新列表的排序

十.列表的操作以及Python运算符_第19张图片

sort()默认是升序排列

使用 sort(reverse=True)可以进行降序排列

 

  • 打乱排序

十.列表的操作以及Python运算符_第20张图片

 

 

  • 建新列表的排序

我们也可以通过内置函数sorted()进行排序,这个方法返回新列表,不对原列表做修改

十.列表的操作以及Python运算符_第21张图片

同理 sorted(a,reverse=True)进行降序排列

 

  • reversed()返回迭代器

内置函数reversed()也支持进行逆序排列,与列表对象reverse()方法不对原列表做任何修改,只是返回一个逆序排列的迭代器对象.

当前情况下迭代器只能使用一次

十.列表的操作以及Python运算符_第22张图片

 

 

列表其他函数

  • max和min

用于返回列表中的最大值和最小值

  • sum

对数值型列表的所有元素进行求和的操作,如非数值型列表运算则会报错

十.列表的操作以及Python运算符_第23张图片

 

多维列表

 

二维列表

  • 一维列表可以帮助我们存储一维,线性的数据.
  • 二维列表可以帮助我们存储二维,表格的数据.例如下面的数据:

十.列表的操作以及Python运算符_第24张图片

 

十.列表的操作以及Python运算符_第25张图片

引用

内存结构图

十.列表的操作以及Python运算符_第26张图片

遍历读取内容

方法一:

十.列表的操作以及Python运算符_第27张图片

方法二:

十.列表的操作以及Python运算符_第28张图片

优化后

十.列表的操作以及Python运算符_第29张图片

 

 

 

 

你可能感兴趣的:(Python,Python入门实录)