【Python学习】列表

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

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()函数可以直接将字符串转换为列表。

扫描二维码关注公众号,回复: 43804 查看本文章

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

猜你喜欢

转载自www.cnblogs.com/shuozhang/p/8909190.html