龙空技术网

Python基础编程——列表的基本操作

Python编程爱好者 57

前言:

此刻各位老铁们对“python中列表的加法”大致比较关切,同学们都需要剖析一些“python中列表的加法”的相关文章。那么小编同时在网络上网罗了一些关于“python中列表的加法””的相关资讯,希望我们能喜欢,各位老铁们快快来了解一下吧!

上一节以列表为例,介绍了Python序列的通用操作方法,主要包括:索引、切片、加法、乘法、成员资格,本节将介绍列表的其他一些特有操作。

list函数

list函数可以将一个可迭代对象转换成列表,这里的可迭代对象包括字符串、元组、字典等,后面将详解介绍可迭代对象。

下面是将一个字符串转换成列表的形式的小程序string_to_list.py,具体如下所示:

#!/usr/bin/env python# -*- coding: utf-8 -*-string = '中国加油!武汉加油!'string_to_list = list(string)print(string_to_list)string = 'Hello, World!'string_to_list = list(string)print(string_to_list)程序执行结果如下所示:['中', '国', '加', '油', '!', '武', '汉', '加', '油', '!']['H', 'e', 'l', 'l', 'o', ',', ' ', 'W', 'o', 'r', 'l', 'd', '!']

从上面的程序执行结果可以看出,list函数将原来字符串序列中的每一个字符转换成列表对应的每一个元素。

如果需要将列表转换成字符串需要如何处理呢,可以使用前面介绍的join函数,join函数以指定的字符串为分隔符将序列(当然包括列表)中的每一个元素拼接成一个字符串并返回这个字符串。如下面的程序list_to_string.py所示:

#!/usr/bin/env python# -*- coding: utf-8 -*-string = '中国加油!武汉加油!'string_to_list = list(string)list_to_string = ''.join(string_to_list)print(list_to_string)string = 'Hello, World!'string_to_list = list(string)list_to_string = ''.join(string_to_list)print(list_to_string)程序执行结果如下所示:中国加油!武汉加油!Hello, World!

从string_to_list.py的执行结果可以知道string_to_list变量存储的是一个列表,当我们以''为分隔符使用join函数拼接后,我们可以得到一个新的字符串,即将列表中的每一个元素拼接成了一个字符串。

修改列表

由于列表是可变序列,除了前面介绍的序列的通用操作,还可以修改列表中的元素值。通过使用索引值修改列表中的元素值,其语法为:list[index] = new_value,具体如下modify_list.py程序所示:

#!/usr/bin/env python# -*- coding: utf-8 -*-  city_names = ['Chengdu', 'Chongqing', 'Xian', 'Kunming']# 通过索引修改列表的元素city_names[1] = 'Beijing'city_names[3] = 'Guangzhou'print(city_names)程序执行结果如下所示:city_names = ['Chengdu', 'Beijing', 'Xian', 'Guangzhou']

从上面程序的执行结果可以看出,可以通过列表的索引修改其元素值。但是如果索引不存在时,我们修改其对应的元素会出现什么情况呢?如下所示:

从上图可以看出解释器会报IndexError——索引错误,因为我们指定的索引在列表中不存在而直接想要修改其对应的值,这显然是不可能的。

删除元素

想要从列表中将指定的元素删除也是很容易的,可以使用关键字del将指定索引对应的元素从列表中删除,其语法为:del list[index],具体如del_list_ele.py程序所示:

#!/usr/bin/env python# -*- coding: utf-8 -*-city_names = ['Chengdu', 'Chongqing', 'Xian', 'Kunming']del city_names[0]del city_names[-1]print('city_names = {}'.format(city_names))程序执行结果如下所示:city_names = ['Chongqing', 'Xian']

从上面程序执行的结果中可以看出,索引为0对应的'Chengdu'和索引为-1对应的'Kunming'从列表中删除了,在使用del时需要注意,当删除一个元素后,列表中位于该元素后面的所有元素对应的索引值都将发生变化。

PS:del关键字不仅仅可以删除列表中的元素,甚至变量、函数等都可以使用del关键字进行删除。

给切片赋值

前一节介绍序列的通用操作时,介绍了使用起始索引和结束索引以及步长来对列表进行切片,我们也可以对切片进行赋值,具体如下slice_list_assign.py所示:

#!/usr/bin/env python# -*- coding: utf-8 -*-city_names = ['Chengdu', 'Chongqing', 'Xian', 'Kunming']city_names[0:2] = ['Beijing', 'Shanghai']print('city_names = {}'.format(city_names))程序执行结果如下所示:city_names = ['Beijing', 'Shanghai', 'Xian', 'Kunming']

使用切片不仅可以修改列表,还可以实现列表元素的删除、新增等操作,具体如下slice_list.py程序所示:

#!/usr/bin/env python# -*- coding: utf-8 -*-city_names = ['Chengdu', 'Chongqing', 'Xian', 'Kunming']# 通过切片删除列表中的元素city_names[1:2] = []print('city_names = {}'.format(city_names))# 通过切片在列表中插入元素city_names[0:1] = ['Chengdu', 'Beijing']print('city_names = {}'.format(city_names))程序执行结果如下所示:city_names = ['Chengdu', 'Xian', 'Kunming']city_names = ['Chengdu', 'Beijing', 'Xian', 'Kunming']

从上面程序执行的结果可以看出,先将city_names列表中的'Chongqing'元素从列表中删除,然后再在'Chengdu'元素后面插入了'Beijing'元素。需要注意的是,在这里可以加入多个元素,取决于实际的需求。

上面介绍的是默认步长为1时的切片赋值,大家可以试试当步长不为1时的切片赋值。

总结:

本节主要介绍了如下内容:

list函数——其实这里的list不是一个函数,而是一个类,只是通常叫为函数。就像Java的通过类创建对象一样,我们使用list函数传入一个参数,然后创建一个list类的对象。修改列表元素——通过索引修改列表的元素,list[index] = newValue。删除列表元素——使用del关键字删除列表中的元素,del还可以删除变量、函数、对象等。列表切片赋值——不仅可以给切片赋值,还可以通过切片删除、新增列表元素。

下一节将会介绍列表的一些常用的重要的方法,例如:append()方法,clear()方法等等。

如果有需要文中小程序的可以私信我哟!

欢迎大家关注、转发、订阅、点评!

标签: #python中列表的加法