传智播客旗下品牌:  黑马程序员  |  博学谷  |  传智专修学院

改变中国IT教育,我们正在行动     全国咨询热线:400-618-4000

Python列表的6种操作实例

更新时间:2017年11月10日11时18分 来源:传智播客

在使用Python的时候,经常会用到列表,列表(list)就是动态数组,相当于C++标准库的Vector。但不同的是,Python的列表可以存储多种数据类型于一身,非常强大。

下面介绍几种Python列表的常用用法:

一. 列表的创建:

使用 [ ] 把数据包含起来,便可以创建一个列表了。

1. [ ] 可以不包含任何数据,则表示创建一个空列表

>>> name = []

2. [ ] 也可以包含多种数据类型的数据

>>> name = ["damao", 30, "ermao"]

二. 列表的打印:

1. 使用内置函数print() 便可打印整个列表里的数据”

>>> print(name)

["damao", 30, "ermao"]

2. 当然也可以打印列表的某个下标的数据:

>>> print(name[0])

damao

3. 也可以分片打印列表的某段下标的数据

>>> print(name[0:2])

['damao', 30] #注意,没有打印name[2]的数据:)

4. 如果想要分别打印列表里的每个数据,只需要一个for就可以搞定:

>>> for each in name:

print(each)

damao

30

ermao

5. 当然也可以直接打印出列表内数据的个数:

>>> print(len(name))

三、列表的扩展:

1. 我们可以在列表末尾追加一个任意数据类型数据:

>>> name.append(["daoluan", 666])

>>> print(name)

['damao', 30, 'ermao', ['daoluan', 666]]

2. 也可以在列表末尾追加一个列表里的所有数据:

>>> name.extend(["sanmao", 10, "simao"])

>>> print(name)

['damao', 30, 'ermao', ['daoluan', 666], 'sanmao', 10, 'simao']

#注意,append和entend这两个方法看起来有些类似,但实际上是不同的。append只接受一个参数,但是这个参数可以是任意数据类型,比如列表和元组等,而且只是将这个数据追加到原列表后面独立存在。

extend也是只接受一个参数,不同的是这个参数必须是一个列表,而且会把这个列表的每个元素拆分出来,依次追加到原列表后面。

3. 当然也可以在指定位置增加一个任意数据类型数据(append的既视感):

# 第一个参数为指定的列表下标,第二个参数为增加的数据

>>> name.insert(3, 20)

>>> print(name)

['damao', 30, 'ermao', 20, ['daoluan', 666], 'sanmao', 10, 'simao']

四、列表的删除:

1. 删除列表末尾的一个数据:

>>> name.pop()

>>> print(name)

['damao', 30, 'ermao', 20, ['daoluan', 666], 'sanmao', 10]

2. 也可以删除列表指定的某一个数据:

>>> name.remove("sanmao")

>>> print(name)

['damao', 30, 'ermao', 20, ['daoluan', 666], 10]

3. 或者删除列表的某个下标的数据:

>>> del(name[4])

>>> print(name)

['damao', 30, 'ermao', 20, 10]

#注意,de()函数支持列表分片删除,同样的,也支持删除整个列表。

五、列表的合并:

只需要像I + I + I = III一样,就可以合并多个列表:

>>> mao = name + [20, "ermao"] + [30, "damao"]

>>> print(mao)

['damao', 30, 'ermao', 20, 10, 20, 'ermao', 30, 'damao']

六、列表的排序:

首先,列表里的每个元素类型相同才可以进行排序,对此我们可以选择手写排序算法,也可以选择Pythoy提供的更简便且强大的的方法:sort()和sorted()

1. 原地排序:

>>> fruit = ["banana", "pear", "orange", "apple"]

>>> fruit.sort()

>>> print(fruit)

['apple', 'banana', 'orange', 'pear']

# sort() 方法可以在原列表的基础上进行排序,同时改变原列表的顺序。

2. 复制排序:

>>> nums = [23, 12, -34, 0, 101, 2]

>>>newNums = sorted(nums)

>>> print(newNums)

[-34, 0, 2, 12, 23, 101]

>>> print(nums)

[23, 12, -34, 0, 101, 2]

# sorted() 函数通过复制排序可以对几乎任何数据结构排序,同时返回一个新的排序后的数据结构,而且不会改变原数据结构的序列。

#注意,不管使用sort()还是使用sorted(),默认都是升序排序。如果想按照降序排序,只要传入 reverse = True 参数就可以啦,比如 fruit.sort(reverse = True) 或者 newNums = sorted(nums, reverse = True)

好了,今天的Python小知识就到这里了,希望大家有所收获!轻松愉快,就算Python!【注:需要更多免费学习视频+资料+源码,请加QQ:3276250747】