Python列表的6种操作实例在使用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))
3
三、列表的扩展:
本帖隐藏的内容
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!
|
|