这或许是对小白最友好的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 条评论
登录 后参与评论

相关文章

来自专栏日常学python

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

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

3256
来自专栏codingforever

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

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

342
来自专栏Vamei实验室

Python进阶07 函数对象

秉承着一切皆对象的理念,我们再次回头来看函数(function)。函数也是一个对象,具有属性(可以使用dir()查询)。作为对象,它还可以赋值给其它对象名,或者...

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

java基本程序设计

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

782
来自专栏静晴轩

59分钟学会正则表达式

推荐几个正则表达式编辑器 Debuggex PyRegex Regexper 正则表达式是一种查找以及字符串替换操作。正则表达式在文本编辑器中广泛使用,比如正则...

3655
来自专栏zaking's

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

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

37810
来自专栏java学习

java每日一练(2017/9/3)

本期题目 (单选题)1、下列关于构造方法不正确的是:( ) A 类的构造方法和类同名 B 一个类可以有多个构造方法 C 在实例化对象时必须调用类的构造方法 D...

2777
来自专栏IT可乐

Java的深拷贝和浅拷贝

  关于Java的深拷贝和浅拷贝,简单来说就是创建一个和已知对象一模一样的对象。可能日常编码过程中用的不多,但是这是一个面试经常会问的问题,而且了解深拷贝和浅拷...

3006
来自专栏Deep learning进阶路

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

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

1690
来自专栏别先生

Scala学习教程笔记三之函数式编程、集合操作、模式匹配、类型参数、隐式转换、Actor、

1:Scala和Java的对比: 1.1:Scala中的函数是Java中完全没有的概念。因为Java是完全面向对象的编程语言,没有任何面向过程编程语言的特性,因...

3315

扫码关注云+社区