零基础玩转Python(5)
本节将为大家介绍更多有关列表的方法。本专栏的每一篇文章我尽量控制大家能在短时间以内能学会,所以篇幅不会太长。这一节应当算对上一节的补充。
如果你想从头开始阅读本专栏,请点击以下链接:
零基础玩转Python(1)
5.1 列表插入
列表的插入应该在上一节写到,但是上一节疏忽了,在这一节开头补上
在列表插入元素,我们常常使用insert(index, element)
来插入元素(element) 到指定的索引位置(index),看!我们这里出现了含两个参数的方法。
代码示例如下:
insert.py
# 列表的插入
# 新建colors列表
colors = ['blue', 'black', 'red', 'purple']
print(colors)
# 利用insert()方法插入
colors.insert(1 ,'yellow') # 在列表第二位置插入'yellow'
print(colors)
运行结果:
[‘blue’, ‘black’, ‘red’, ‘purple’]
[‘blue’, ‘yellow’, ‘black’, ‘red’, ‘purple’]
这个方法唯一要注意的点,索引一定不能弄错,牢记任何列表索引是从0开始,而不是1。
5.2 列表排序
在实际情况,我们会遇到很多需要排序的问题,比如你有一副扑克牌,你要按照点数大小进行排序,虽然说不难,但一定比较麻烦。又例如,小学老师在开学给小朋友排位子的时候,经常让他们从矮到高站好,来进行座位的安排。
在Python中有一个名为sort()
的方法可以对列表进行排序。
5.2.1 数字列表排序
代码如下:
sort.py:
nums = [2, 5, 1, 4, 3]
print('排序前:')
print(nums)
print() # 换行
# 进行排序
nums.sort() # 默认是升序
print('排序后:(升序)')
print(nums)
# 降序排列
nums.sort(reverse=True)
print('排序后:(降序)')
print(nums)
运行结果:
排序前:
[2, 5, 1, 4, 3]
排序后:(升序)
[1, 2, 3, 4, 5]
排序后:(降序)
[5, 4, 3, 2, 1]
sort()
方法默认是升序的,但是为其中的reverse
参数赋值为True,代表将反转开启,也就是降序了,True 和 False
是Python中的布尔类型,代表真假。
5.2.2 字符串列表排序
字符串列表排序在sort()
方法中,是使用按字母表排序来实现的,看如下示例:
sort.py:
排序前:
['hello', 'apple', 'zip', 'dog']
排序后:(升序)
['apple', 'dog', 'hello', 'zip']
排序后:(降序)
['zip', 'hello', 'dog', 'apple']
运行结果:
排序前:
[‘hello’, ‘apple’, ‘zip’, ‘dog’]
排序后:(升序)
[‘apple’, ‘dog’, ‘hello’, ‘zip’]
排序后:(降序)
[‘zip’, ‘hello’, ‘dog’, ‘apple’]
那么,当两个元素首字母相同应该怎么办?是按照什么规则呢?我相信很多朋友已经猜到了,Python会按照第二个字母来排序,看如下示例:
# 当第一字母相同时
examples = ['apple', 'add', 'about']
# 输出排序后
examples.sort()
print(examples)
运行结果:
[‘about’, ‘add’, ‘apple’]
看到这边我们已经学习了sort()
方法的基本用法,是不是十分简便快捷呢?
5.3 列表反转
列表反转其实很简单,我们在列表排序已经接触过那个单词了,reverse
,只需要调用reverse()
方法就可以实现列表反转,就是将一个列表倒过来。示例如下:
list_reverse:
data = ['ikun', '唱', '跳', 'rap', '篮球']
print('反转前:')
print(data)
# 调用反转方法
data.reverse()
print('反转后:')
print(data)
运行结果:
反转前:
[‘ikun’, ‘唱’, ‘跳’, ‘rap’, ‘篮球’]
反转后:
[‘篮球’, ‘rap’, ‘跳’, ‘唱’, ‘ikun’]