python中列表的操作以及使用列表实现栈和队列

>>> a = [1, 2, 3, 4, 5, 6]

>>> a.append(45)

>>> a

[1, 2, 3, 4, 5, 6,45]

首先我们建立了一个列表 a。然后调用列表的方法 a.append(45) 添加元素 45 到列表末尾。你可以看到元素 45 已经添加到列表的末端了。有些时候我们需要将数据插入到列表的任何位置,这时我们可以使用列表的 insert() 方法。

>>> a.insert(0, 1) # 在列表索引 0 位置添加元素 1

>>> a

[1, 1, 2, 3, 4, 5, 6,45]

>>> a.insert(0, 111) # 在列表索引 0 位置添加元素 111

>>> a

[111, 1, 1, 2, 3, 4, 5, 6,45]

其中insert的第一个参数为插入的位置,列表中有n个元素的情况下第一个参数的取值范围为-n~n,当第一个参数大于n的时候统一当做n处理,当第一个参数小于-n的时候统一当做-n处理

比如

>>> a.insert(100, 100) # 在列表最后一个索引之后添加100

>>> a.insert(-100, 100) # 在列表第一个索引之前添加100

列表方法 count(s) 会返回列表元素中 s 的数量。我们来检查一下 45 这个元素在列表中出现了多少次。

>>> a.count(45)

1

如果你想要在列表中移除任意指定值,你需要使用 remove() 方法。

 

>>> a.remove(45)

>>> a

[111, 1, 1, 2, 3, 4, 5, 6]

现在我们反转整个列表。

>>> a.reverse()

>>> a

[6, 5, 4, 3, 2, 1, 1, 111]

怎样将一个列表的所有元素添加到另一个列表的末尾呢,可以使用列表的 extend() 方法。

 

>>> b = [45, 56, 90]

>>> a.extend(b) # 添加 b 的元素而不是 b 本身

>>> a

[6, 5, 4, 3, 2, 1, 1, 111, 45, 56, 90]

给列表排序,我们使用列表的sort() 方法,排序的前提是列表的元素是可比较的。

 

>>> a.sort()

>>> a

[1, 1, 2, 3, 4, 5, 6, 45, 56, 90]

你也能使用 del 关键字删除指定位置的列表元素。

 

>>> del a[-1]

>>> a

[1, 1, 2, 3, 4, 5, 6, 45, 56]

使用列表实现栈和队列:

栈是一种后进先出的数据结构,我们可以使用列表的append和pop方法来实现

>>>a = [1, 2]

>>> a.append(1) # 入栈

>>>a.pop() # 最后一个元素出栈

>>>1

队列是一种先进先出的数据结构,我们可以使用列表的append和pop(0)方法来实现

>>>a = [2, 1]

>>> a.append(1) # 入队列

>>>a.pop(0) # 第0个元素出队列

>>>2

也就是说队列的pop方法可以实现删除队列中指定索引元素的功能

阅读更多
想对作者说点什么?

博主推荐

换一批

没有更多推荐了,返回首页