User:你好我是森林
Date:2018-02-14
Mark:《Python从入门到实践》
列表
本章主要从列表的概念入手,逐步深入到对列表的操作。
列表
- 概念
列表由一系列按特定顺序排列的元素组成。可以创建包含字母表中所有字母、数字0~9或 所有家庭成员姓名的列表;也可以将任何东西加入列表中,其中的元素之间可以没有任何关系。鉴于列表通常包含多个元素,给列表指定一个表示复数的名称(如letters、digits或names)是 个不错的主意。
- 语法:用方括号
([])
来表示列表,并用逗号来分隔其中的元素。
bicycles = ['demo', 'chen', 'sen', 'lin']
print(bicycles)
- 访问列表元素
访问列表中的元素是通过索引获取的,而索引是从0开始的。
bicycles = ['demo', 'chen', 'sen', 'lin']
print(bicycles)
print("取第0个索引:" + bicycles[0])
print("取第1个索引:" + bicycles[1])
print("取第最后一个索引的值:" + bicycles[-1])
运行结果:
➜day1 python dsc.py
['demo', 'chen', 'sen', 'lin']
取第0个索引:demo
取第1个索引:chen
取第-1个索引:lin
结合第0天的知识,我们现在对列表元素进行拼接的操作。
bicycles = ['demo', 'chen', 'sen', 'lin']
res = "My name is " + bicycles[0] + "!"
print(res)
运行结果:
My name is demo!
- 修改列表元素
修改元素的值可以理解为通过索引获取需要修改的值,然后重新赋值。
代码示例:
bicycles = ['demo', 'chen', 'sen', 'lin']
print(bicycles)
bicycles[1] = 'Name'
print(bicycles)
可以理解为:
bicycles = ['demo', 'chen', 'sen', 'lin']
print(bicycles)
change_res = bicycles[1]
change_res = 'Name';
bicycles[1] = change_res
print(bicycles)
运行结果:
['demo', 'chen', 'sen', 'lin']
['demo', 'Name', 'sen', 'lin']
- 添加列表元素
添加元素主要有两种方式:列表末尾添加元素,列表中插入元素(包含开头)。其中不能影响其他的元素。
代码示例:
bicycles = ['demo', 'chen', 'sen', 'lin']
print(bicycles)
bicycles.append('good')
print(bicycles)
运行结果:
['demo', 'chen', 'sen', 'lin']
['demo', 'chen', 'sen', 'lin', 'good']
甚至可以创建一个没有任何的元素空的列表,然后不断的追加元素。或者可以从开头或者中间插入元素。
代码示例:
null_list = []
null_list.append('hello')
null_list.append('senlin')
null_list.append('chen')
print(null_list)
运行结果:
['hello', 'senlin', 'chen']
insert()
可以在任意位置添加元素。
代码示例:
in_list = ['hello', 'senlin', 'chen']
in_list.insert(1, 'name')
print(in_list)
运行结果:
['hello', 'name', 'senlin', 'chen']
- 删除列表元素
删除元素的方法有:del
删除、pop()
弹出删除、根据值
删除。
代码示例:
list = ['on','list','time','man','like','goods']
del list[0]
print("删除第0个元素的值",list)
print("弹出删除第最后一个元素的值",list.pop())
print("弹出删除第一个元素的值",list.pop(1))
print(list)
print("根据值删除",list.remove('man'))
print(list)
运行结果:
删除第0个元素的值 ['list', 'time', 'man', 'like', 'goods']
弹出删除第最后一个元素的值 goods
弹出删除第一个元素的值 time
['list', 'man', 'like']
根据值删除 None
['list', 'like']
- 组织列表
组织列表中主要是针对列表进行排序等操作。排序分为临时排序(sorted()
)和永久排序(sort()
)。reverse()
不是指按与字母顺序相反的顺序排列列表元素,而只是反转列表元素的排 列顺序:reverse()
永久性地修改列表元素的排列顺序,但可随时恢复到原来的排列顺序,为此只需对列表再次调用reverse()
即可。
代码示例:
cars = ['bmw', 'audi', 'toyota', 'subaru']
cars.sort()
print(cars) #根据字母永久排序
cars = ['bmw', 'audi', 'toyota', 'subaru']
cars.sort(reverse=True)
print(cars) #根据字母相反方向永久排序
cars = ['bmw', 'audi', 'toyota', 'subaru']
cars.reverse()
print(cars) #倒着打印列表
运行结果:
['audi', 'bmw', 'subaru', 'toyota']
['audi', 'bmw', 'subaru', 'toyota']
['toyota', 'subaru', 'bmwmw', 'audi']
['subaru', 'toyota', 'audi', 'bmw']
- 获取元素长度
代码示例:
cars = ['bmw', 'audi', 'toyota', 'subaru']
res = len(cars)
print(res)
运行结果为:4
至此,第三章的列表已经学习完毕,本章的函数不是特别多。主要的知识点有概念,获取值,修改和排序等操作。