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的强大之处在于他有非常丰富和强大的标准库和第三方库,几乎你想实现的任何功能都有相 ...
随机推荐
- Java ---自定义标签(二)
上篇文章的最后,我们自定义了一个带属性的标签,并使用它完成了一个简单的案例.其实到这我们已经可以看出来,前端jsp页面只需要写一个类似html语法的标签,就可以完成将集合中的数据取出来并展示这么相对复 ...
- JavaScript基础学习(二)—JavaScript基本概念
一.语法 1.区分大小写 JavaScript是一种弱类型的脚本语言.它区分大小写,变量名test与Test表示两个完全不同的变量. 2.标识符 所谓标识符就是变量.函数.属性的 ...
- 发散问题——Spring容器及加载
一.前言 发散问题系列,是围绕日常工作,发散思考,提取问题,并寻求答案的一个系列.总的来说,就是将遇到的问题发散来提出更多的问题,并通过解决发散问题,从而对问题有更深入的了解,对知识有更深刻的记忆,帮 ...
- MySQL两个最简单的delimiter的使用demo
今天复习MySQL,使用的工具是Navicat for MySQL,写了两个简单的delimiter的demo. 第一个,获取当前时间的年月日时分秒格式的时间: delimiter $$ drop f ...
- Notepad++ 7.3.2 Download 64-bit x64 / 32-bit x86
Notepad++ 7.3.2 Download 32-bit x86 Notepad++ Installer 32-bit x86: Take this one if you have no ide ...
- [HAOI2006]受欢迎的牛
洛谷传送门 直接tarjan求scc,然后统计出度为0的缩点,如果多余1个就输出0,只有一个就输出这个缩点里的点. --代码 #include <cstdio> #include < ...
- 深入tornado中的IOStream
IOStream对tornado的高效起了很大的作用,他封装了socket的非阻塞IO的读写操作.大体上可以这么说,当连接建立后,服务端与客户端的请求响应都是基于IOStream的,也就是说:IOSt ...
- 读书笔记 effective c++ Item 51 实现new和delete的时候要遵守约定
Item 50中解释了在什么情况下你可能想实现自己版本的operator new和operator delete,但是没有解释当你实现的时候需要遵守的约定.遵守这些规则并不是很困难,但是它们其中有一些 ...
- tcptump的使用------使用JAVA与tcpdump从网络获取原始数据
从这里开始,就开始接触使用分布式系统处理大数据了.在处理大数据之前,需要有一个场景,否则技术工具无法嵌入现实当中,价值就会降低.我碰到的场景应该还是比较具有普遍性,因此大家可以在我的场景里先玩一遍,熟 ...
- 开始奇妙的DP之旅
铭记各位大佬教导,开始看一些很迷的动态规划,那就从比较典型的01背包开始吧,想想还是从比较简单的导弹拦截开始吧,说简单都是骗人的,还是看采药吧. 一.动态规划 刚听到动态规划这个东西,据HLT大佬所言 ...