这或许是对小白最友好的python入门了吧——18,用while循环处理列表

for循环可以遍历列表字典,但是想要用for循环在遍历的时候对其进行修改就很困难了,这个时候可以用while循环。

exams = ["chinese","math","python"]
doneexams = []

创建两个列表,一个是我们需要考的科目exams,另外一个是已经考完的科目的列表。我们要一个个的把exams的元素移动到doneexams中,应该怎么办呢?

exams = ["chinese","math","python"]
doneexams = []
while exams:
	doneexam = exams.pop()
	doneexams.append(doneexam)
print(exams)
print(doneexams)

前边我们说过,pop()这个函数就是删除列表最后一个元素但是依旧在函数中保存这个元素。append()这个函数是在列表末尾加一个元素。

我们的while函数运行到pop这个函数不能再运行,也就是运行到exams这个列表被全部删除。

以前我们说过,remove这个函数可以移除列表中指定元素,可是有的时候给定我们的列表可能差强人意,如有重复元素:

删除没有重复的元素完全没有问题,可是如果删除有重复的元素:

只会删除第一个。

想要删除全部的math可以用while循环:

exams = ["chinese","math","python","math"]
while "math" in exams:
	exams.remove("math")
print(exams)

原文发布于微信公众号 - TungHsu(gh_cd21b89e52e6)

原文发表时间:2018-01-24

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏互联网杂技

深入理解javascript原型和闭包(1)——一切都是对象

“一切都是对象”这句话的重点在于如何去理解“对象”这个概念。 ——当然,也不是所有的都是对象,值类型就不是对象。 首先咱们还是先看看javascript中一个常...

36116
来自专栏哲学驱动设计

小技巧 - 简化你的泛型API

    以下,我使用一个实例,分享一下用于简化泛型API设计的小技巧,“如何在泛型方法调用时,过滤掉可以隐式推断出的泛型参数”: 原有设计:     系统中原来...

1995
来自专栏zaking's

用js来实现那些数据结构07(链表01-链表的实现)

  前面讲解了数组,栈和队列。其实大家回想一下。它们有很多相似的地方。甚至栈和队列这两种数据结构在js中的实现方式也都是基于数组。无论增删的方式、遵循的原则如何...

38810
来自专栏奔跑的蛙牛技术博客

java基本程序设计

保护对象实例域,提供黑盒的概念保护数据域的安全,体现了面向对象思想。数据>算法的思想

842
来自专栏Deep learning进阶路

C++随记(五)---const 与 指针

C++随记(五)---const 与 指针 const 限定符它把一个对象转换成一个常量,const与define。两者都可以用来定义常量,但是const定...

1730
来自专栏前端知识分享

第184天:js创建对象的几种方式总结

javascript 创建对象简单的来说,无非就是使用内置对象或各种自定义对象,当然还可以使用JSON,但写法有很多,也能混合使用。

1103
来自专栏日常学python

爬虫必学知识之正则表达式上篇

这是日常学python的第12篇文章 在向网页进行了提交请求之类的之后,我们可以得到了网页的返回内容,里面自然而然会有我们想要的数据,但是html元素文本这么多...

3326
来自专栏企鹅号快讯

每周四更面试题:True+True=?

面试题:True + Ture == ? Python 的 “+” 号会根据操作对象数据类型的不同而进行重载,操作对象为数字类型时,它是算术运算符;操作对象为序...

1877
来自专栏磐创AI技术团队的专栏

2018 年最常见的 Python 面试题 & 答案

https://data-flair.training/blogs/python-tutorial/

841
来自专栏codingforever

经典算法巡礼(五) -- 排序之归并排序

归并排序是创建在归并操作上的一种有效排序算法。所谓归并操作,指的是将两个已经排序的序列合并成一个序列的操作。归并排序是分治思想的典型示范。

422

扫码关注云+社区