python编程编写循环的技巧?编写循环的技巧,for循环包含了常见的计数器式循环 。由于通常for循环比while循环更容易写,也执行得更快 , 所以for循环一般是你遍历序列或其他可迭代对象时的首选 。事实上,作为一条通用法则,你应该克制在Python中使用计数方式的诱惑——Python提供的迭代工具,能帮你把像C这样低级语言中循环集合体的工作自动化 。不过,有些情况下你还是需要以更为特定的方式进行迭代 。例如,如果你需要在列表中每隔一个元素或每隔两个元素进行访问,或是要同时修改列表呢?如果在同一个for循环内,并行遍历一个以上的序列呢?如果你也需要进行索引呢?
你总是可以用while循环和手动索引运算来编写这些独特的循环,但是python提供了一套内置函数,可以帮你在for循环内定制迭代:·内置函数range (Python 0.X及之后版本可用)返回一系列连续增加的整数,可作为for中的索引 。内置函数zip (Python 2.0及之后版本可用)返回一系列并行元素的元组,可用于在for中内遍历多个序列 。内置函数enumerate (Python 2.3及之后版本可用)同时生成可迭代对象中元素的值和索引,因而我们不必再手动计数 。内置函数map (Python 1.0及之后版本可用)在Python 2.X中与zip有着相似的效果,但是在3.X中 map 的这一角色被移除了 。因为for循环可能会比基于while的计数器循环运行得更快 , 所以借助这些工具并尽可能地使用for循环,会让你受益匪浅 。让我们在常见的使用场景下 , 依次看一看这些内置函数吧 。我们将会看到,它们的用法在Python 2.X和3.X中稍有不同 , 同时它们中的一些要比其他的更加有效 。
python关于for循环的几个函数for ... in ...
// for ... in 字符串
for i in 'abc':
print(i)
'''
a
b
c
'''
// for ... in 数组
for i in ['a', 'b', 'c']:
print(i)
'''
a
b
c
'''
// for ... in 元组
for i in ('a', 'b', 'c'):
print(i)
'''
a
b
c
'''
// for ... in 字典(得到的是字典的key)
for k in {'学号':30,'姓名':'小明'}:
print(k)
'''
姓名
学号
'''
// for ... in 字典.items()(得到的是字典的key, value)
for k, v in {'学号':30,'姓名':'小明'}.items():
print(k, v)
'''
姓名 小明
学号 30
'''
for ... in range(...)
// for ... in range(num)
for i in range(3):
print(i)
'''
1
2
'''
// for ... in range(num1, num2)
for i in range(1, 3):
print(i)
'''
1
2
'''
// for ... in range(num1, num2, num3)
for i in range(3, 1, -1):
print(i)
'''
3
2
'''
for i in range(1, 5, 2):
print(i)
'''
1
3
'''
倒叙
for i in reversed([1,2,3,4]):
print(i)
’‘’
4
3
2
1
‘’‘
又想得到遍历次数,又想得到数组值
for i,e in enumerate(array):
for i,e in enumerate(['21dw', 55, 22, 'rw']):
print(i, e)
'''
0 21dw
1 55
2 22
3 rw
'''
列表生成式
[...for ... in array]]
print([x * x for x in [2, 34, 324, 43]])
'''
[4, 1156, 104976, 1849]
'''
//相当于
list = []
for x in [2, 34, 324, 43]:
list.append(x * x)
print(list)
python循环、递归for 变量 in range(次数):被执行的语句变量:表示每次循环的次数,0-1之间
range(n)n表示产生0到n-1的整数序列共N个range(m,n)产生m到n-1的整数序列 , 共n-m个
循环for语句:for 循环变量 in遍历结构:语句体1else:语句体2
推荐阅读
- 鸿蒙是人造什么系统,鸿蒙系统属于谁的
- 如何理解新媒体把关问题,如何看待新媒体是把双刃剑
- 游戏扫描到桌面上怎么去掉,手机游戏扫描登入
- 泛型vb.net 泛型编程
- 新媒体如何构建动漫ip,新媒体技术用户体系构建
- sap汉得业务顾问,sap 业务顾问
- postgresql千万级数据查询优化,千万级数据查询sql优化规则
- 鸿蒙多开应用不能使用,鸿蒙 多开
- 奶块苹果怎么安卓游戏,奶块苹果版怎么下