练习题目 :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) - ...
随机推荐
- Arcgis:坐标系统极其转换
1. ArcGIS中的坐标系统 ArcGIS中预定义了两套坐标系统,地理坐标系(Geographic coordinate system)和投影坐标系(Projectedcoordinate syst ...
- 二路归并排序的java实现
转载请注明出处 http://www.cnblogs.com/dongxiao-yang/p/6410775.html 参考引言:在排序算法中快速排序的效率是非常高的,但是还有种排序算法的效率可以与之 ...
- python单元测试unittest实例详解
转自:http://blog.csdn.net/five3/article/details/7104466 单元测试作为任何语言的开发者都应该是必要的,因为时隔数月后再回来调试自己的复杂程序时,其实也 ...
- 【MIG专项测试组】如何准确评测Android应用的流畅度?
转自 腾讯Bugly 叶方正,2008年加入腾讯,就职于无线研发部[专项测试组].曾经负责多个产品的性能优化工作,积累大量的移动终端平台优化以及评测经验. 怎样获取SM值? 前文我们分析了通过测量应用 ...
- zabbix自动化监控三种方式
1.agent自动注册2.sever端自动发现discovery3.zabbix api
- 【Python3.6】之在Windows中安装Python3.6.1
由于之前做web自动化的时候,没有自己总结一篇Python3.6.1的安装步骤,这次由于学习appium自动化时换了台电脑,所以想重新总结一下. 一.安装Python3.6.1 下载Python3.6 ...
- gen_server2 与gen_server的对比
在erlang杀手级应用rabbitmq中,不难发现,有一个gen_server2.erl模块.而在rabbitmq中,gen_server2.erl是对gen_server.erl模块的重写. Ra ...
- 快速用CMD打开当前目录
按住shift,鼠标右键,选择在此处打开命令行窗口.
- 排序算法 python
1.先写个原始数组和测试算法是否正确,输出多次,方便计算算法运算的平均值 2.开始第一个最简单的冒泡排序 3.“”选择排序“”,跟冒泡很像,每次选最大/最小,放进新list中. 3.1发现测试test ...
- WPF中的数据模板使用方式之一:ContentControl、ContentTemplate和TemplateSelector的使用
在WPF中,数据模板是非常强大的工具,他是一块定义如何显示绑定的对象的XAML标记.有两种类型的控件支持数据模板:(1)内容控件通过ContentTemplate属性支持数据模板:(2)列表控件通过I ...