一、在列表之间移动元素

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

其中一种方法是使用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. Lucas+中国剩余定理 HDOJ 5446 Unknown Treasure

    题目传送门 题意:很裸,就是求C (n, m) % (p1 * p2 * p3 * .... * pk) 分析:首先n,m<= 1e18, 要用到Lucas定理求大组合数取模,当然p[]的乘积& ...

  2. sql基础语法-联接查询

    交叉联接 1.不带where条件的,将返回两个表的 行乘积 select c.*, e.* from Sales.Customers c cross join hr.Employees e 2.带wh ...

  3. 162 Find Peak Element 寻找峰值

    峰值元素是指其值大于左右相邻值的元素.给定一个输入数组,其中 num[i] ≠ num[i+1],找到峰值元素并返回其索引.数组可能包含多个峰值,在这种情况下,返回到任何一个峰值所在位置都可以.你可以 ...

  4. python_10(模块与包)

    第1章 模块 1.1 模块的种类 1.2 定义 1.3 作用 1.4 导入及使用 1.4.1 import 1.4.2 测试一: 1.4.3 测试二: 1.4.4 测试三: 1.4.5 小结 1.4. ...

  5. JavaScript禁止键入非法值,只有这些才能被键入

    JavaScript禁止键入非法值,只有这些才能被键入(k==9)||(k==13)||(k==46)||(k==8)||(k==189)||(k==109)||(k==190)||(k==110)| ...

  6. SQL系列函数——字符串函数

    1.charindex函数用来寻找一个指定的字符(串)在另一个字符串中的起始位置,返回一个整数,没找到就返回0. select CHARINDEX('SQL','Microsoft SQL SERVE ...

  7. hadoop的安装和配置

    hadoop安装 在Apache Hadoop主页的下载页面https://hadoop.apache.org/releases.html选择版本进行下载: 下载下来的是压缩包: 将压缩包使用Xftp ...

  8. checkbox:click事件触发span元素内容改变

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  9. SQL异常为"当IDENTITY_INSERT设置为OFF时" 的解决

    误删数据库时,可以利用insert插入删除的数据,但是有时表可能有自增字段如id.这是插入数据如果包含自增字段就会出现错误,提示"IDENTITY_INSERT设置为OFF,插入失败&quo ...

  10. laravel模型关联

    hasOne 一对一 用户名-手机号hasMany 一对多   文章-评论belongTo 一对多反向 评论-文章belongsToMany    多对多 用户-角色hasManyThrough 远程 ...