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的更多相关文章

  1. Python range() xrange()

    range 前面小节已经说明了,range([start,] stop[, step]),根据start与stop指定的范围以及step设定的步长,生成一个序列. xrange用法与 range 完全 ...

  2. python之range(), xrange()

    可以这样理解: range()立即执行,返回结果 xrange()延迟执行,需要时再返回结果.

  3. 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 ...

  4. python range,xrange区别

    range: 直接生成一个列表对象 xrange: 生成一个xrange对象 xrange使用: 操作一个非常大的数据时,而且没存比较吃紧的时,可以使用xrange来节省内存 xrange一般在循环里 ...

  5. Python 内置函数--range() xrange()

    >>>xrange(8) xrange(8) >>> list(xrange(8)) [0, 1, 2, 3, 4, 5, 6, 7] >>> r ...

  6. ZH奶酪:Python中range和xrange的区别

    range    函数说明:range([start,] stop[, step]),根据start与stop指定的范围以及step设定的步长,生成一个序列.range示例: >>> ...

  7. 【Python那些事儿之十】range()和xrange()

    by Harrison Feng in Python 无论是range()还是xrange()都是Python里的内置函数.这个两个内置函数最常用在for循环中.例如: >>> fo ...

  8. 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 ...

  9. python range的用法小题

    题目(1)for i in range(10): print(i) 结果:123456789 题目(2) for lst in range(100): if lst % 7 == 0 and str( ...

  10. xrange

    range返回一个列表 xrange反会xrange这个类的实例,每次遍历返回一个值.比range的执行效率要高 在python3中range = xrange range(1,10,2)     - ...

随机推荐

  1. windows下简单配置squid反向代理服务器

    下载windwosNT版本的squid下载地址: http://squid.acmeconsulting.it/download/squid-2.6.STABLE13-bin.zip 1.把squid ...

  2. css 猫头鹰选择器

    除了第一个以外的兄弟选择器.由于看起来像猫头鹰,也叫猫头鹰选择器 .TD-Breadcrumb > li + li:before { padding: 0 5px; color: #ccc; c ...

  3. Android使用ImageView显示网络图片

    本案例使用ImageView 简单的实现了网络图片的调用.当中注意事项.由于用到了网络,这里採用了HttpClient方法訪问网络联接,关于怎样使用,可參照文章 Android中使用HttpClien ...

  4. Android採用async框架实现文件上传

    页面效果 须要的权限 <uses-permission android:name="android.permission.INTERNET"/> 网络訪问权限; 布局文 ...

  5. u3D大场景的优化

    首先介绍下draw call(这个东西越少你的游戏跑的越快): 在游戏中每一个被展示的独立的部分都被放在了一个特别的包中,我们称之为“描绘指令”(draw call),然后这个包传递到3D部分在屏幕上 ...

  6. spring 事件驱动模型简介

    事件驱动模型简介 事件驱动模型也就是我们常说的观察者,或者发布-订阅模型:理解它的几个关键点: 首先是一种对象间的一对多的关系:最简单的如交通信号灯,信号灯是目标(一方),行人注视着信号灯(多方): ...

  7. Junit内部解密之四: Junit单元测试最佳实践

    我们做使用Junit工具来做单页测试或接口测试时,需要注意一些问题,包括我们的编码规范,test规范,以及编写测试代码的策略,以下个人的总结. 1.为还没有实现的测试代码抛出一个异常.这就避免了该测试 ...

  8. "下列引导或系统启动驱动程序无法加载: cdrom"的解决方案

    1.进入注册表(开始->运行->regedit) 2.展开HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\cdrom 3.把Sta ...

  9. elk文件

    =================正则匹配 [root@web02 conf.d]# cat apache-grok.conf input{ file { path => "/var/ ...

  10. MIC中函数和变量的声明

    c++/c使用 __declspec(target(mic))函数或变量声明 或 __attribute__((target(mic)))函数或变量声明 举例如下: __attribute__((ta ...