一、在列表之间移动元素

  假设有一个列表,里面存放的是网站新注册但没有验证的用户,验证这些用户后,如何将它们移动到另一个已验证用户列表中呢?

其中一种方法是使用while循环,在验证用户的同时,将其从未验证的用户列表中移除,将之加入到已验证用户列表中,代码类似于这样:

#首先我们创建一个未认证用户列表
unconfirmed_users = ['alice','joker','jack']
confirmed_users = [] #验证每个用户直到没有未验证用户为止
# 还需要将每个验证过的用户移入已验证用户列表
while unconfirmed_users:
current_user = unconfirmed_users.pop()
print("Verifing user :" + current_user.title())
confirmed_users.append(current_user) #显示所有已验证用户
print("\nThe following users have been confirmed:")
for confirmed_user in confirmed_users:
print(confirmed_user.title())

console:

解释:我们首先创建一个未验证的用户列表,又创建了一个空的已认证的用户列表用于存储已验证用户。

while循环不断地运行直到unconfirmed_users 列表变为空的。在这个循环中,方法 pop() 以每次一个的方

式从列表 unconfirmed_users 末尾删除未验证用户。由于 jack 位于unconfirmed_users 列表末尾,所以其

名字首先被删除、存储到变量current_user 中并加入到列表confirmed_users 中,接下来是 joker、alice。

二、删除包含特定值的所有列表元素

remove()方法可以用来删除列表中的特定值,但也只能删除列表中所出现的第一次的特定值。如果要删除列

表中所有特定值,如何去做?

用while循环加上remove() 方法即可实现,如下:

names = ['jack','joker','jack','joker','alice','nacy']

#假设我们要删除其中所有的‘joker’
while 'joker' in names:
names.remove('joker') print(names)

console:

解释:我们首先创建了一个姓名列表,里面包含多个‘值为joker’元素,然后进入while循环进行条件判断,

'joker' 存在于names 中,所以进入循环,执行remove,删除了列表中的第一个‘joker’,然后回到while条

件判断,names 中是否还存在‘joker’,存在,继续执行循环中的语句,此时则删除了第二个‘joker’,再次

回到了while 条件的判断,此时names中不存在‘joker’了,不会执行while循环里的语句了,继续往下,执

行,打印 names,names中的‘joker’已被全部删除,所以打印中不存在‘joker’。

  我的兴趣爱好分动态和静态,动态就是翻身,静态就是睡觉

while循环处理列表和字典的更多相关文章

  1. Python基础、判断、循环、列表、字典,day1

    一.Python 简介 1.介绍 Python 是一个高层次的结合了解释性.编译性.互动性和面向对象的脚本语言. Python 的设计具有很强的可读性,相比其他语言经常使用英文关键字,其他语言的一些标 ...

  2. while循环 操作列表与字典

    1.在列表间移动元素 #!/usr/bin/env python #filename=list.py num1 = [1,3,5,7,9,11,13,15] num2 = [] while num1: ...

  3. Python基础之(判断,循环,列表,字典)

    一.python介绍 Python是一种简单易学,功能强大的编程语言,它有高效率的高层数据结构,简单而有效地实现面向对象编程.Python简洁的语法和对动态输入的支持,再加上解释性语言的本质,使得它在 ...

  4. python基础练习,循环、列表、字典、数组

    # encoding: utf-8 ''' @author: mark @file: 20200214.py @time: 2020/2/14 14:21 @software: PyCharm ''' ...

  5. python-判断、循环、列表、字典

    一.如何将两个列表合并成一个字典 运用dict(zip()) 例如: usernames = ['xiaohei', 'xiaobai', 'xiaoming'] passwords = ['1234 ...

  6. join,列表和字典用for循环的删除,集合,深浅拷贝

    1.join() 将列表转换成字符串,并且每个字符之间用另一个字符连接起来,join后面必须是可迭代的对象(字符串,列表,元组,字典,集合),数字不能迭代 例如: s = ['a','b','c'] ...

  7. 7.3 使用while 循环来处理列表和字典

    # 7.3.1 在列表之间移动元素 # confirmed_users.py # 首先,创建一个待验证用户列表 # 和一个用于存储已验证用户的空列表 uncomfirmed_users = ['jam ...

  8. 2.9高级变量类型操作(列表 * 元组 * 字典 * 字符串)_内置函数_切片_运算符_for循环

    高级变量类型 目标 列表 元组 字典 字符串 公共方法 变量高级 知识点回顾 Python 中数据类型可以分为 数字型 和 非数字型 数字型 整型 (int) 浮点型(float) 布尔型(bool) ...

  9. Python之几种重要的基本类型:元组,列表,字典,字符串,集合

    写在前面:重点讲解元组,列表,字典相关概念和常用操作. 一.元组(tuple) 1.特性:不可更改的数据序列.[理解:一旦创建元组,则这个元组就不能被修改,即不能对元组进行更新.增加.删除操作] 2. ...

随机推荐

  1. 跟我一起玩Win32开发(9):绘图(B)

    我们今天继续涂鸦,实践证明,涂鸦是人生一大乐趣. 首先,我们写一个程序骨架子,以便做实验. #include <Windows.h> LRESULT CALLBACK MainWinPro ...

  2. 网络流24题 一句话题解(updating)

      搭配飞行员问题   最简单的一道题 就是一个二分图匹配   太空飞行计划   最大权闭合子图 什么叫"最大权闭合子图"呢? 就是给定一个有向图,在里面选择一个点集,使得点集中的 ...

  3. Codeforces Round #402 (Div. 2) B

    Description Polycarp is crazy about round numbers. He especially likes the numbers divisible by 10k. ...

  4. UVa 1218 Perfect Service 完美的服务

    ***状态设计值得一看dp[u][0]表示u是服务器(以下v均指任意u的子结点,son指u的所有子结点)ap[u][0]=sum{dp[v][1]}+1//错误,服务器是可以和其他服务器相邻的dp[u ...

  5. bash 变量传递方法

    ###1.sh    ##(该sh 目的是 将变量env传入env.sh, 同时让env.sh在当前事物生效,最后执行env.sh 定义的变量envs) export ENV=prepareecho ...

  6. [在读]webkit技术内幕

    看了一点点,还不适合目前的我看,搁置.

  7. PHP pack和unpack函数详解

    pack 压缩资料到位字符串之中. 语法: string pack(string format, mixed [args]...); 返回值: 字符串 函数种类: 资料处理 内容说明 本函数用来将资料 ...

  8. Netty实现WebSocket

    package com.qmtt.server; import javax.annotation.PostConstruct; import javax.annotation.PreDestroy; ...

  9. 5.iOS测试总结

    1. 什么是Mock 当我们在做单元测试的过程中,为了保持测试又短又快和测试的隔离性,希望尽可能少地去实例化一些具体的组件.在现在面向对象的系统中,被测试的对象很可能会依赖于几个其他的对象,这时候我们 ...

  10. Spring的校验(Validator)

    使用Spring校验的大体流程: 最首先要有配置文件xml的支持(spring_validate.xml).(当然在web.xml中要有对该xml的体现) <beans xmlns=" ...