一、在列表之间移动元素

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

其中一种方法是使用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. hdu3038 How Many Answers Are Wrong 种类并查集

    #include <cstdio> #include <cstring> #include <algorithm> using namespace std; int ...

  2. Selenium | 网上教程

    java selenium (一) selenium 介绍 java selenium (二) 环境搭建方法一 java selenium (三) 环境搭建 基于Maven java selenium ...

  3. 【Ajax】接收后台数据在html页面显示

    Java代码 PrintWriter out=response.getWriter(); //向客户端发送字符数据 response.setContentType("text/text&qu ...

  4. 接口测试postman和Jmeter

    接口测试属于功能测试的范畴,一般来说分为两种,一种是程序内部的接口,一种是系统对外的接口. postman测试接口 1. get请求: (1) 直接在浏览器中输入接口地址+?+参数 (2)使用post ...

  5. ACM_求第k大元素(两次二分)

    求第k大 Time Limit: 6000/3000ms (Java/Others) Problem Description: 给定两个数组A和B,大小为N,M,每次从两个数组各取一个数相乘放入数组C ...

  6. [在读]javascript框架设计

    司徒正美的书,内容我觉得不错,国内的书很少会讲这些.当然也有很多人吐槽它只贴代码没有解释,文笔不够优美啥啥的,我想说,不要在意这些细节,反正是值得买的一本.

  7. java.util.Properties类的介绍-配置文件的读写【-Z-】

    简介:java.util.Properties是对properties这类配置文件的映射.支持key-value类型和xml类型两种. #打头的是注释行,Properties会忽略注释.允许只有key ...

  8. IIS伪静态失效

    故障描述: 今天有个美国VPS的用户向我们救助,说他的网站昨晚还好好的,早上起来就发现404了,但是后台却可以正常登陆.经过我们检查后发现原来是伪静态失效了,查看日志,发现许多ISAPI_Rewrit ...

  9. C# winform 创建快捷方式

    using System;using IWshRuntimeLibrary;using System.IO; namespace UavSystem.Common{    public class S ...

  10. SQL数据库学习,常用语句查询大全

    数据库学习 sql server数据库基本概念 使用文件保存数据存在几个缺点: 1.文件的安全性问题: 2.文件不利于查询和对数据的管理: 3.文件不利于存放海量数据 4.文件在程序中控制不方便. 数 ...