Python学习列表

Posted shuozhang

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python学习列表相关的知识,希望对你有一定的参考价值。

最近准备系统学习python,为了以后能及时查找到,先记录下.

先说下啥叫序列,之前在用,感觉这个概念有个模糊,今天特意看了下,序列是python中最基本的数据结构,序列中的每一个元素都被分配一个序号,即元素的位置,也成为索引。类似于“数组”。python中包含6种内建序列,即列表,元组,字符串,Unicode字符串,buffer对象和xrange对象。

1.列表的内容是可变的(相对于元组),一般使用“[]”和“,”,如 M= [1,2,3,4]

2.列表元素操作:

(1)元素赋值:可以类似于数组赋值进行列表赋值,可以对一个列表中的元素赋不同类型的值,但不能为一个不存在的元素的位置进行赋值。

技术分享图片

(2)增加元素:可使用list.append(obj),list代表列表,obj代表需要添加到list列表末尾的对象。

技术分享图片

(3)删除元素:del M[0]

技术分享图片

(4)分片赋值:常使用list()函数

a.若M=list(‘今天天气多云’),[‘今‘,‘天‘,‘天‘,‘天‘,‘气‘,‘多‘,‘云‘],list()函数可以直接将字符串转换为列表。

技术分享图片

b.若M=list(‘ae‘),M[1:]=list(‘bcd‘),list()函数可以使用与原序列不等长的序列将分片替换

技术分享图片

c.若M=list(‘今天天气不错‘),M[2:2]=list(‘安徽省‘),list函数可以在不替换任何原有元素的情况下在任意位置插入新元素。

技术分享图片

d.可利用分片赋值进行元素删除,将准备删除的元素置为空,可对一个序列中任意位置的元素进行删除。

技术分享图片

3.列表是可嵌套的。

技术分享图片

4.列表的方法

(1)list.append(obj),是在列表的末尾添加新对象

(2)list.count(obj),用于统计某个元素在列表中出现的次数,list代表列表,obj代表列表中统计的对象

技术分享图片

(3)list.extend(seq),list代表列表,seq代表元素列表
技术分享图片

 与序列相加的主要区别:extend()方法修改了被扩展的序列,原始的连接操作会返回一个全新的列表

技术分享图片

(4)list.index(obj),用于从列表中找出某个值第一个匹配项的索引位置。

技术分享图片

(5)list.insert(index,obj),list代表是列表,index代表对象obj需要插入的索引位置,obj代表是插入列表中的对象。用于从列表中找出某个值第一个匹配项的索引位置。

技术分享图片

(分片赋值也可实现)

技术分享图片

(6)list.pop(obj=list[-1]),list代表是列表,obj为可选择的参数,代表要移除列表元素的对象。用于移除列表中的一个元素(默认最后一个元素),并且返回该元素的值。

a.list.pop(),不传参数,默认移除最后一个元素

技术分享图片

b.list.pop(2),删除a[2]元素

技术分享图片

pop方法是唯一一个既能修改列表又能方法元素值(除了None)的列表方法。

注:pop方法可实现一种常见的数据结构—栈,类似于堆放盘子,LIFO(last in firsr out),后进先出。入栈(push),python没有入栈方法,但可以使用append方法替代,出栈(pop)。

(7)list.remove(obj),list代表是列表,obj为列表中要移除的对象。用于移除列表中某个值的第一个匹配项。是一个没有返回值的原位置元素变更方法。

技术分享图片

(8)list.reverse(),list代表是列表,该方法不需要传入参数。用于反向列表中的元素。是一个没有返回值的原位置元素变更方法。

技术分享图片

(9)list.sort(func),list代表列表,func为可选参数,若指定参数,会使用该参数的方法进行排序。

技术分享图片

对列表进行排序,且保持原列表排列顺序,先将原始列表使用切片方式进行赋值,如b = a[:]

技术分享图片

(10)list.sorted(),直接获取原始列表副本进行排序

技术分享图片

(11)list.clear(),list代表列表,不需要传入参数。用于清空列表。

技术分享图片

(12)list.copy(),list代表列表,不需要传入参数。用于赋值列表,类似于a[:]

技术分享图片

(13)高级排序,sort方法有两个可选参数,即key,reverse。

#len按字符串长度由短到长进行排序

技术分享图片

#传入2个参数,按照字符串长度由长到短进行排序

技术分享图片

#排序后逆序
技术分享图片

 

 

 

2018/4/22




以上是关于Python学习列表的主要内容,如果未能解决你的问题,请参考以下文章

python学习列表

python学习列表图

Python学习——列表

python学习--列表

Python学习笔记 - 列表

Python学习——列表操作全透析