练习题目 :if for while else range、xrange、zip
range在内存中直接生成指定的序列,当序列非常大时会浪费内存资源;
xrange则不会直接生成一个list,而是每次调用返回其中的一个值,而非直接全部生成存于内存中
range([start,] stop[, step])
if练习:
#练习1:逐一显示指定列表中的所有元素:
a = ['first', 'second', 'third', 'forth', 'fifth']
count = 0
while count < len(a):
print(a[count])
count += 1 print('这是逆序显示'.center(30, '#'))
while a:
print(a[-1])
a.pop() 对于任何可迭代对象,使用for是最简单的,效率高于while #练习2:求100内奇数和,偶数和:
a = 0
sum = 0
sum1 = 0
while a <= 100:
if a % 2 != 0:
sum += a
else:
sum1 += a
a += 1 print('偶数和:%d , 奇数和:%d' % (sum,sum1))
#偶数和:2500 , 奇数和:2550 # 练习3:逐一显示指定列表的所有键,并于显示结束后说明总键数
a = []
dic = {'x': 1, 'b': 2, 'c': 3, 'd': 4}
keylist = dic.keys()
for i in keylist:
a.append(i) while a:
print(a[0])
a.pop(0)
else:
print('总键数:%d'.center(50, '-') % (len(dic))) #练习4:创建一个包含了100以内所有奇数的列表,并逆序显示列表中的所有元素:
a = 0
l = []
while a < 100:
if a % 2 != 0:
l.append(a)
a += 1
else:
print('正序:', l)
l.reverse()
m = l
print('逆序:', l)
#逆序用到列表的reverse方法 #练习5:列表l = [0,1,2,3,4,5,6] m = ["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],
#以第一个列表中的元素为键,以第二个列表中的元素为值生成字典L l = [0, 1, 2, 3, 4, 5, 6]
m = ["Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat"]
L = {}
count = 0
if len(l) == len(m):
while count < len(l):
L[l[count]] = m[count]
count += 1
else:
print(L) #涉及到字典中新增键值的方法==》给键直接赋值即可
##字典的构造:zip,取一个或多个序列为参数,将给定序列中的并排的元素配成元组,返回这些元组的列表(当参数长度不通时,zip以最短序列的长度为准)
#可在for循环中用于实现并行迭代
# L = [0, 1, 2, 3, 4, 5, 6]
# m = ["Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat"]
# n = {}
# for (k,v) in zip(L,m):
# n[k] = v
# print(n)
#输出:{0: 'Sun', 1: 'Mon', 2: 'Tue', 3: 'Wed', 4: 'Thu', 5: 'Fri', 6: 'Sat'}
for循环练习
练习1:逐一分开显示指定字典d1中的所有元素,类似如下:
k1 v1
k2 v2
...
d1 = {0: 'Sun', 1: 'Mon', 2: 'Tue', 3: 'Wed', 4: 'Thu', 5: 'Fri', 6: 'Sat'}
# d1 = {'0': 'Sun', '1': 'Mon', '2': 'Tue', '3': 'Wed', '4': 'Thu', '5': 'Fri', '6': 'Sat'}
for (k, v) in d1.items():
print(k, v) 练习2:逐一显示列表中l1=["Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat"]中的索引为奇数的元素
l1 = ["Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat"]
法1:
for i in l1:
if l1.index(i) % 2 != 0:
print(l1[l1.index(i)])
法2:
for i in range(1,len(l1),2): #非完全遍历用range
print(l1[i]) 练习3:将属于列表l1=["Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat"],
但不属于列表l2=["Sun", "Tue", "Wed", "Fri"]的所有元素定义为一个新列表l3
l1 = ["Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat"]
l2 = ["Sun", "Tue", "Wed", "Fri"]
l3 = []
for i in l1:
if i not in l2:
l3.append(i)
print(l3) 练习4:已知列表namelist=['stu1', 'stu2', 'stu3', 'stu4', 'stu5', 'stu6', 'stu7'],
删除列表removelist=['stu3', 'stu7', 'stu9']:从namelist中移除removelist,不在removelist中的忽略
namelist = ['stu1', 'stu2', 'stu3', 'stu4', 'stu5', 'stu6', 'stu7']
removelist = ['stu3', 'stu7', 'stu9']
for i in removelist:
if i in namelist:
namelist.remove(i)
print(namelist)
练习题目 :if for while else range、xrange、zip的更多相关文章
- Python range() xrange()
range 前面小节已经说明了,range([start,] stop[, step]),根据start与stop指定的范围以及step设定的步长,生成一个序列. xrange用法与 range 完全 ...
- python之range(), xrange()
可以这样理解: range()立即执行,返回结果 xrange()延迟执行,需要时再返回结果.
- python循环for,range,xrange;while
>>>range(1,5)#代表从1到5(不包含5) [1,2,3,4] >>>range(1,5,2)#代表从1到5,间隔2(不包含5) [1,3] >&g ...
- python range,xrange区别
range: 直接生成一个列表对象 xrange: 生成一个xrange对象 xrange使用: 操作一个非常大的数据时,而且没存比较吃紧的时,可以使用xrange来节省内存 xrange一般在循环里 ...
- Python 内置函数--range() xrange()
>>>xrange(8) xrange(8) >>> list(xrange(8)) [0, 1, 2, 3, 4, 5, 6, 7] >>> r ...
- ZH奶酪:Python中range和xrange的区别
range 函数说明:range([start,] stop[, step]),根据start与stop指定的范围以及step设定的步长,生成一个序列.range示例: >>> ...
- 【Python那些事儿之十】range()和xrange()
by Harrison Feng in Python 无论是range()还是xrange()都是Python里的内置函数.这个两个内置函数最常用在for循环中.例如: >>> fo ...
- FZU 2016 summer train I. Approximating a Constant Range 单调队列
题目链接: 题目 I. Approximating a Constant Range time limit per test:2 seconds memory limit per test:256 m ...
- python range的用法小题
题目(1)for i in range(10): print(i) 结果:123456789 题目(2) for lst in range(100): if lst % 7 == 0 and str( ...
- xrange
range返回一个列表 xrange反会xrange这个类的实例,每次遍历返回一个值.比range的执行效率要高 在python3中range = xrange range(1,10,2) - ...
随机推荐
- matlab-非线性方程求根函数及函数曲线绘制
Matlab中提供了很多求解非线性方程(y=f(x))的函数,刚開始使用,真的很困惑.全部.这里依据matlab的help文档对这些函数做一些小小的总结 fsolve函数 用来求解非线性方程组:F(x ...
- python抓取51CTO博客的推荐博客的全部博文,对标题分词存入mongodb中
原文地址: python抓取51CTO博客的推荐博客的全部博文,对标题分词存入mongodb中
- C++中没有定义类的引用。
在有时候由于类太大.须要在类在后面定义: 比如: class Y{ void f(X); }; class X{ //一些成员数据和函数 }; //error 由于c++要求不论什么一个变量在引用之前 ...
- Active Directory的基本概念
前言 本文是面对准备加入Active Directory编程的初学者的一份文章,主要是讲解Active Directory(活动目录)的一些概念和相关知识.这篇文章本来是不想写下来的,因为概念性内容的 ...
- Unix下网络编程概述
这部分我要学习的是Unix下的网络编程,参照的书籍是W. Richard. Stevens的<Unix网络编程>卷一和卷二,由于本身现在从事的工作是java后台开发,对客户端-服务器的这种 ...
- PHP将多级目录打包成zip文件
最近接触PHP,需要用到zip压缩,在网上搜索的一大堆,发现代码都不低于50行. 而且调用还很费事(基础太少看不懂).让我收获的是Php提供有一个ZipArchive类,并有如下方法. bool a ...
- 使用MongoDB 记录业务日志
最近公司有个需求,要对业务日志进行记录并根据日志排查问题,以前都是使用log4net之类的日志组件来记录到文件,这种方式已经不能满足业务的需要,因为日志文件会很大,即使进行分割后,查找也是很不方便,何 ...
- MIC性能优化策略
MIC性能优化主要包括系统级和内核级:系统级优化包括节点之间,CPU与MIC之间的负载均衡优化:MIC内存空间优化:计算与IO并行优化:IO与IO并行优化:数据传递优化:网络性能优化:硬盘性能优化等. ...
- sql with 递归查询
用with实现递归查询 1.数据准备 假定有一个表DiGui,有两个字段Id int ParentId int Id ParentId 4 0 5 0 7 0 2 1 8 5 15 5 9 7 14 ...
- Memcached 常用的方法
Memcache常用方法 Memcache::add — 添加一个值,如果已经存在,则返回false Memcache::addServer — 添加一个可供使用的服务器地址 Memcache::cl ...