购买
下载掌阅APP,畅读海量书库
立即打开
畅读海量书库
扫码下载掌阅APP

6.5 换掉列表中的元素

经过前面的操作,购物清单内容丰富了许多: '牛奶','面包','苹果','香蕉','薯条','可乐','果汁' 。但是妈妈不让我吃薯条,说这是垃圾食品,要我多吃水果,并且叫我换成火龙果。

现在要把索引4的 薯条 换成 火龙果 ,我们可以通过shopping_list[4]获取索引4的内容,然后将它替换成 火龙果 就可以了,是不是很简单?

还记得赋值吗?代码奉上,你要自学哟。

代码


shopping_list = ['牛奶','面包','苹果','香蕉',
                   '薯条','可乐','果汁']
shopping_list[4] = '火龙果'
print(shopping_list)

程序运行结果为:

果果思路

我们需要换掉的是薯条,薯条在列表中的索引是4。用代码表示是这样的:shopping_list[4]。

看到它让我想起了变量,一开始lucy="猫咪",后面lucy="狗狗"。

这样操作后,lucy就指向了“狗狗”。

shopping_list[4]是不是也可以这么理解呢?让它指向“火龙果”,就改变了呢。

shopping_list[4]="火龙果"

果果提醒

索引不能超过列表范围哟, '牛奶','面包','苹果','香蕉','薯条','可乐','果汁' ,“果汁”是列表的最后一个元素,它的索引是6。

shopping_list[7]就不知道是什么了,因为“果汁”后面没有其他元素了。

修改不存在的索引元素会引发错误,Python Shell会提示我们相应的错误。

我们来试错一下,看看对不存在的索引进行修改会提示什么错误。

代码


shopping_list = ['牛奶','面包','苹果','香蕉',
                    '薯条','可乐','果汁']
shopping_list[8] = '火龙果'
print(shopping_list)

程序运行结果显示,出现错误了,提示错误为:

因为购物清单列表中不存在索引8,所以Python Shell报错index超出了范围。如果我们要修改列表中索引为8的元素,则要保证列表中存在索引为8的元素。

删除列表中不需要的元素

听妈妈的话,将['牛奶','面包','苹果','香蕉','薯条','可乐','果汁']里面的可乐删除。

remove()

Python提供了remove()函数来帮助我们删除指定的元素,只需要把想要删除的元素告诉remove()函数,它就能帮我们从列表中删除。

使用remove()函数将“可乐”从列表中删除吧。

代码


shopping_list = ['牛奶','面包','苹果','香蕉',
                   '薯条','可乐','果汁']
shopping_list.remove('可乐')
print(shopping_list)

程序运行结果为:

remove()函数用来删除 首个 符合条件的元素,根据值来删除。如果列表中有两个相同的值,remove()只会删除第一个符合条件的元素。我们往购物清单中加入两个可乐,remove()函数只能帮助我们删除第一个可乐。

代码


shopping_list = ['牛奶','可乐','面包','苹果',
                               '香蕉','薯条','可乐','果汁']
shopping_list.remove('可乐')
print(shopping_list)

程序运行结果为:

购物清单 '牛奶','可乐','面包','苹果','香蕉','薯条','可乐' ,'果汁'中有两个相同的元素“可乐”,用 remove('可乐') 只是删除了第一个符合条件的“可乐”,第二个“可乐”还是在列表中。

pop()

remove()是按照元素来删除的,如果我们要按照索引来删除,怎么做呢?我们可以用pop()函数。如果我们想要删除列表中索引是3的元素,则可以使用pop(3),并且pop()函数会返回我们删除的值。

接下来,我们使用pop()函数来删除列表:['牛奶','面包','苹果','香蕉','薯条','可乐','果汁']中的可乐。可乐的索引是5,所以要删除列表中的可乐,我们可以使用pop(5)来删除。

通过shopping_list.pop(),我们还能获取删除的是什么。

代码


shopping_list = ['牛奶','面包','苹果','香蕉',
                    '薯条','可乐','果汁']
remove_value = shopping_list.pop(5)
print("删除的值为:" + remove_value)
print(shopping_list)

程序运行结果为:

学习了pop()函数,对指定索引的元素进行删除。pop()函数不仅如此,还有另一种用法:使用pop()函数可以直接删除列表末尾的元素,并且返回删除的内容。例如,我们想要删除购物清单的最后一个元素,直接使用代码:shopping_list.pop()就可以达到效果,不用去数索引那么复杂。

不仅可以删除,还可以通过remove_value=shopping_list.pop()知道删除的是什么。

代码


shopping_list = ['牛奶','面包','苹果','香蕉',
                   '薯条','可乐','果汁']
remove_value = shopping_list.pop()
print("删除的值为:" + remove_value)
print(shopping_list)

程序运行结果为:

如果你发现删除的果汁不是你想删除的,那么再使用append()函数添加回去吧。

del

需要删除指定索引的元素,还可以使用del进行删除,具体用法果果老师带领大家一起学习:

代码


shopping_list = ['牛奶','面包','苹果','香蕉',
                   '薯条','可乐','果汁']
del shopping_list[5]
print(shopping_list)

程序运行结果为:

果果提醒

注意用法哟,del是这样的:del shopping_list[索引]。

remove()是这样的:shopping_list.remove(元素)。

pop()是这样的:shopping_list.pop(索引)。

除此之外,del还有一个更加强大的功能,可以删除指定范围之内的元素。例如,购物清单 '牛奶','面包','苹果','香蕉','薯条','可乐' ,'果汁'中,要删除索引2到4的元素,可以通过del来实现。

代码


shopping_list = ['牛奶','面包','苹果','香蕉',
                    '薯条','可乐','果汁']
del shopping_list[2:5]
print(shopping_list)

程序执行结果为:

果果提醒

凡是有结束索引的函数,一定要认真思考结束索引的具体数值,否则很容易出错。 xJ1JU+Zq51CNKXvod0Ise3ZCMEQJh4LhpbVwEFFtEJM2zS30kotZcZTGLZ35OUZm

点击中间区域
呼出菜单
上一章
目录
下一章
×