while循环 操作列表与字典
1、在列表间移动元素
#!/usr/bin/env python
#filename=list.py
num1 = [1,3,5,7,9,11,13,15]
num2 = []
while num1:
interest_number = num1.pop()
num2.append(interest_number)
print(num2)
#实例是一个最简单的在列表间移动元素的脚本#
会发现效果是:
[root@Python-Test Day3]# ./list.py
[15, 13, 11, 9, 7, 5, 3, 1]
因为num1.pop()是从最后一个开始pop的,所以导致整个mun2是ASSIC逆序的,可以通过函数sort()来进排序
while num1:
interest_number = num1.pop()
num2.append(interest_number)
num2.sort()
print(num2)
[root@Python-Test Day3]# ./list.py
[1, 3, 5, 7, 9, 11, 13, 15]
删除列表中的特定元素:
注意看如下代码
>>> pets = [ 'dog', 'cat', 'rabbit', 'goldfish','cat']
>>> pets.remove('cat')
>>> pets
['dog', 'rabbit', 'goldfish', 'cat']
有一个宠物列表“pets”,其中多次出现了‘cat’这个元素,现在需要从此列表中移除‘cat’元素,
使用之前的list.remove(' ’)会发现只是把位于第一个index的cat删除了。没有移除所有,这个时候需要使用到while循环来帮忙了
代码段:
#!/usr/bin/env python
#filename while_list.py
pets = [ 'dog','cat','goldfish','cat','pig']
while 'cat' in pets:
pets.remove('cat')
print(pets)
根据用户输入来填充字典:(例如,问卷调查)
#!/usr/bin/env python
#filename=questionnaire.py
love_av = {} #定义一个空字典#
polling_active = True
while polling_active:
name = input("\n What is your name? :") #第一个input存放到变量 name#
response = input("\n Which actor do you like better? (Takizawa Rola/Maria Ozawa) :") #第二个input存放到变量 response#
love_av[name] = response #编辑字典 name为键,response为值#
repeat = input("\n Do you have any other hobbies? (yes/no) :")
if repeat == 'no':
polling_active = False
print("\n -----Poll Results-----")
for name,response in love_av.items():
print(name.title() + " prefer " + response.title())
这段交互代码有一个缺陷:
就是当用户输入的是yes/no选项出现大小写混搭的时候,程序无法区分。
改进——
把repeat 变量进行一次转换
repeat = repeat.upper() #无论输入什么。全部转化为大写 #
if repeat == 'NO':
polling_active = False
这时候,不管用户输入No\nO\NO\no 都可以被程序所识别。
while循环 操作列表与字典的更多相关文章
- 2.9高级变量类型操作(列表 * 元组 * 字典 * 字符串)_内置函数_切片_运算符_for循环
高级变量类型 目标 列表 元组 字典 字符串 公共方法 变量高级 知识点回顾 Python 中数据类型可以分为 数字型 和 非数字型 数字型 整型 (int) 浮点型(float) 布尔型(bool) ...
- Python基础、判断、循环、列表、字典,day1
一.Python 简介 1.介绍 Python 是一个高层次的结合了解释性.编译性.互动性和面向对象的脚本语言. Python 的设计具有很强的可读性,相比其他语言经常使用英文关键字,其他语言的一些标 ...
- Python基础之(判断,循环,列表,字典)
一.python介绍 Python是一种简单易学,功能强大的编程语言,它有高效率的高层数据结构,简单而有效地实现面向对象编程.Python简洁的语法和对动态输入的支持,再加上解释性语言的本质,使得它在 ...
- python基础练习,循环、列表、字典、数组
# encoding: utf-8 ''' @author: mark @file: 20200214.py @time: 2020/2/14 14:21 @software: PyCharm ''' ...
- python-判断、循环、列表、字典
一.如何将两个列表合并成一个字典 运用dict(zip()) 例如: usernames = ['xiaohei', 'xiaobai', 'xiaoming'] passwords = ['1234 ...
- while循环处理列表和字典
一.在列表之间移动元素 假设有一个列表,里面存放的是网站新注册但没有验证的用户,验证这些用户后,如何将它们移动到另一个已验证用户列表中呢? 其中一种方法是使用while循环,在验证用户的同时,将其从未 ...
- Python【第二课】 字符串,列表,字典,集合,文件操作
本篇内容 字符串操作 列表,元组操作 字典操作 集合操作 文件操作 其他 1.字符串操作 1.1 字符串定义 特性:不可修改 字符串是 Python 中最常用的数据类型.我们可以使用引号('或&quo ...
- join,列表和字典用for循环的删除,集合,深浅拷贝
1.join() 将列表转换成字符串,并且每个字符之间用另一个字符连接起来,join后面必须是可迭代的对象(字符串,列表,元组,字典,集合),数字不能迭代 例如: s = ['a','b','c'] ...
- 跟着ALEX 学python day2 基础2 模块 数据类型 运算符 列表 元组 字典 字符串的常用操作
声明 : 文档内容学习于 http://www.cnblogs.com/xiaozhiqi/ 模块初始: Python的强大之处在于他有非常丰富和强大的标准库和第三方库,几乎你想实现的任何功能都有相 ...
随机推荐
- linux网口绑定笔记-bind
模式0:balance-rr 模式1:active-backup 模式2:balance-xor 模式3:broadcast 模式4:802.3ad 模式5:balance-tlb 模式6:balan ...
- Javascript数组与基本函数
数组定义方法: 1. var arr=new Array(); var arr=Array(); 2. var arr1=Array('a','b','c'); 3. var arr2=['a','b ...
- 记录参加QCon的心得
如有侵权,请告知作者删除.scottzg@126.com 很荣幸参加QCon全球软件开发大会,这里特别感谢我们部门的总经理,也是<互联网广告算法和系统实践>此书的作者王勇睿.因为他我才有这 ...
- KMP算法学习(详解)
kmp算法又称“看毛片”算法,是一个效率非常高的字符串匹配算法.不过由于其难以理解,所以在很长的一段时间内一直没有搞懂.虽然网上有很多资料,但是鲜见好的博客能简单明了地将其讲清楚.在此,综合网上比较好 ...
- js日期转化(计算一周的日期)
之前做项目的时候遇到过一个日期转化的问题,一个日期控件和近一天,近七天和近一月的的联动效果.发现自己不会,后来就百度了一下解决了这个问题. 现在抽空又写了一个时间转化的案例(计算一周的日期),因为之前 ...
- Sencha+cordova 构造 华丽手机程序,并讲讲,在商用项目中经常用到的cordova插件(一)
采用 Sencha Architect 3 ,编辑设计,我只想说一个结论,jq能搞的 Sencha touch也能做到(只是 设计思路 更面向对象,学习知识量大点而已 ,不理解 MVC 就不用选了), ...
- Docker 架构详解 - 每天5分钟玩转容器技术(7)
Docker 的核心组件包括: Docker 客户端 - Client Docker 服务器 - Docker daemon Docker 镜像 - Image Registry Docker 容器 ...
- SQLiteServer+SQLiteClient 用于.Net项目的SQLite服务端程序和客户端类库
SQLite没有官方的支持CS方式调用的方式,因项目需要我自行开发了一个简易的版本. 当前版本支持的方法 SQLiteOpen(fileName):bool SQLiteClose():void SQ ...
- Linux下安装单机版zookeeper(和dubbo配合验证)和redis(用图形化界面连接验证)
上次写了篇zookeeper的集齐,并且用dubbo admin验证了集群结果.最近又特地装了个虚拟机,专门装各种单机版的,免得跟集群的机器混合了.安装的虚拟机IP为192.168.1.108 1.单 ...
- time元素定义的格式
time元素表示的是24小时中的某一个时刻或日期,表示时间时允许时差. time元素定义的格式如下: <time datetime="2016-6-15">2016年6 ...