python数据结构列表_python数据结构(二)------列表

本文将重点梳理列表及列表操作。

2.1 list函数

2.2 基本列表操作

2.3 列表方法

2.1 list函数

>>>list('hello')

['h','e','l',l','o']

注:list函数适用于所有类型的序列,而不只是字符串。

2.2 基本列表操作

2.2.1 改变列表:元素赋值

>>>x = [1,3,5]

>>>x[0] = 'a'

>>>x

['a',3,5]

注:不能对不存在的元素赋值,即x[0]~x[2]存在,可赋值,x[3]不存在,不可赋值。

2.2.2 删除元素

>>>names = ['jack','bob','tom','alice']

>>>del names[1]

>>>names

['jack','tom','alice']

2.2.3 分片赋值

>>>name = 'anthony'

>>>namelist = list(name)

['a','n','t','h','o','n','y']

#步长为1时,替换原分片位置为赋值列表

>>>namelist[1:3] = ['a','b','c']

['a', 'a', 'b', 'c', 'h', 'o', 'n', 'y']

#步长为2时,赋值列表长度必须与原分片元素数一致

>>>namelist[::2] = [1,2,3]

Traceback (most recent call last):

File "", line 1, in

ValueError: attempt to assign sequence of size 3 to extended slice of size 4

>>>namelist[::2] = [1,2,3,5]

>>>namelist

[1, 'a', 2, 'c', 3, 'o', 5, 'y']

#分片操作可以实现删除序列功能

>>>namelist[1:] = []

>>>namelist

['a']

2.3 列表方法

2.3.1 append

#append方法实现列表末尾追加新的对象;

>>>lst = ['a','b',4]

>>>lst.append('a')

['a', 'b', 4, 'a']

#直接修改原列表

2.3.2 count

#count方法统计某个元素在列表中出现的次数;

>>>lst.count('a')

2

2.3.3 extend

#extend方法实现在列表的末尾追加另一个序列中的多个值;

>>>lst2 = [1,2,3]

>>>lst.extend(lst2)

>>>lst

['a', 'b', 4, 'a', 1, 2, 3]

#extend方法不同于级联操作”+“,extend方法是在原列表直接修改,而“+”操作是返回一个新的列表

>>>a = ['a','a','b']

>>>b = [1,2,3]

>>>a+b

['a','a','b',1,2,3]

>>>a

['a','a','b']

2.3.4 index

#index方法用于寻找列表中某个值第一个匹配项的索引位置;

>>>names = ['jack','tom','alice','rose','timor']

>>>names.index('jack')

0

>>>names.index('sam')

Traceback (most recent call last):

File "", line 1, in

ValueError: 'sam' is not in list

2.3.5 insert

#insert方法用于将对象插入列表中;

>>>numbers = [1,2,3,4,5,6,7]

>>>numbers.insert(3,'a')

>>>numbers

[1,2,3,'a',4,5,6,7]

#同样可以用分片操作完成

>>>numbers[3:3] = ['a']

[1,2,3,'a','a',4,5,6,7]

2.3.6 pop

#pop方法会移除列表中的一个元素(默认最后一个);

>>>x = [1,2,3]

>>>x.pop()

3

>>>x

[1,2]

>>>x.pop(0)

1

>>>x

[2]

2.3.7 remove

#remove方法用于移除列表中某个值的第一个匹配项;

>>>x = ['alice','tome','time','jack']

>>>x.remove('alice')

[tome','time','jack']

2.3.8 reverse

#reverse方法将列表中的元素逆向存放;

>>>x = [1,3,5]

>>>x.reverse()

>>>x

[5,3,1]

2.3.9 sort

#sort方法在原位置进行排序;

>>>x = [4,6,9,7,8]

>>>x.sort()

>>>x

[4,6,7,8,9]

#sort方法无返回值,因此,y = x.sort() 返回值为None


版权声明:本文为weixin_39596090原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。