概述
第二章:python基础学习之循环中的函数
python循环中的函数
- 第二章:python基础学习之循环中的函数
- * for&while语句中常用的函数
- 一、奇怪的range()函数
- 二、有趣的enumerate()函数
- *enumerate(A)于for循环相结合使用。
- 三、经典语句:break
- 四、经典contunue语句
- 五、随性pass语句
- 六、 有趣的推导式
- 七、其他
- 总结
* for&while语句中常用的函数
*循环两板斧while、for。*- while循环
- while … else…循环
- for循环
- for… else…
一、奇怪的range()函数
range([start,] stop[,step=1])
- 这个BIF(内置函数)有三个参数,两个中括号里的参数可选。
- step=1表示第三个参数默认值是1,在这里我理解为“步长”。
- range()函数BIF(内置函数)在告诉读者range()如何使用,start开始数字序列,stop结束数字序列,值得一看的是:
for i in range(2, 9): # 不包含9
print(i)
# 2
# 3
# 4
# 5
# 6
# 7
# 8
#start=1,stop=10,step=2,开始值1,结束值10,步长2,
for i in range(1, 10, 2):#循环走不到i=10时
print(i)
# 1
# 3
# 5
# 7
# 9
二、有趣的enumerate()函数
enumerate(sequence,[start=0])
- sequence:一个序列、迭代器或支持迭代的对象。
- start:下标起始的位置。
- 返回enumerate(枚举)对象。
seasons = ['Spring', 'Summer', 'Fall', 'Winter']
lst = list(enumerate(seasons))
print(lst)
# [(0, 'Spring'), (1, 'Summer'), (2, 'Fall'), (3, 'Winter')]
lst = list(enumerate(seasons, start=1)) # 下标从 1 开始
print(lst)
# [(1, 'Spring'), (2, 'Summer'), (3, 'Fall'), (4, 'Winter')]```
*enumerate(A)于for循环相结合使用。
格式如下:
for i, a in enumerate(A)
do something with a
'''
用 enumerate(A) 不仅返回了 A 中的元素,
还顺便给该元素一个索引值 (默认从 0 开始)。
此外,用 enumerate(A, j) 还可以确定索引起始值为 j。
'''
languages = ['Python', 'R', 'Matlab', 'C++']
for language in languages:
print('I love', language)
print('Done!')
# I love Python
# I love R
# I love Matlab
# I love C++
# Done!
#给元素加索引值,从2开始
for i, language in enumerate(languages, 2):
print(i, 'I love', language)
print('Done!')
# 2 I love Python
# 3 I love R
# 4 I love Matlab
# 5 I love C++
# Done!
三、经典语句:break
break语句跳出当前所在层的循环。
import random
secret = random.randint(1, 10) #[1,10]之间的随机数
while True:
temp = input("猜一猜小姐姐想的是哪个数字?")
guess = int(temp)
if guess > secret:
print("大了,大了")
else:
if guess == secret:
print("你太了解小姐姐的心思了!")
print("哼,猜对也没有奖励!")
break
else:
print("小了,小了")
print("游戏结束,不玩儿啦!")
四、经典contunue语句
continue终止本轮循环并开始下一轮循环。
for i in range(10):
if i % 2 != 0:
print(i)
continue
i += 2 #i
print(i)
# 2
# 1
# 4
# 3
# 6
# 5
# 8
# 7
# 10
# 9
五、随性pass语句
pass语句的意思是“不做任何事”,如果在“需要”有语句的地方不写任何语句,那么解释器会提示错误,而pass语句就是来解决这一问题。
def a_func():
# SyntaxError: unexpected EOF while parsing
#加pass就不会出错
def a_func():
pass
六、 有趣的推导式
列表推导式
[expr for value in collection [if condition] ]
x = [-4, -2, 0, 2, 4]
y = [a * 2 for a in x]
print(y)
# [-8, -4, 0, 4, 8]
x = [i ** 2 for i in range(1, 10)]
print(x)
# [1, 4, 9, 16, 25, 36, 49, 64, 81]
x = [(i, i ** 2) for i in range(6)]
print(x)
# [(0, 0), (1, 1), (2, 4), (3, 9), (4, 16), (5, 25)]
a = [(i, j) for i in range(0, 3) for j in range(0, 3)]
print(a)
# [(0, 0), (0, 1), (0, 2), (1, 0), (1, 1), (1, 2), (2, 0), (2, 1), (2, 2)]
x = [[i, j] for i in range(0, 3) for j in range(0, 3)]
print(x)
# [[0, 0], [0, 1], [0, 2], [1, 0], [1, 1], [1, 2], [2, 0], [2, 1], [2, 2]]
x[0][0] = 10
print(x)
# [[10, 0], [0, 1], [0, 2], [1, 0], [1, 1], [1, 2], [2, 0], [2, 1], [2, 2]]
a = [(i, j) for i in range(0, 3) if i < 1 for j in range(0, 3) if j > 1]
print(a)
# [(0, 2)]
元组推导式
( expr for value in collection [if condition] )
a = (x for x in range(10))
print(a)
# <generator object <genexpr> at 0x0000025BE511CC48>
print(tuple(a))
# (0, 1, 2, 3, 4, 5, 6, 7, 8, 9)
字典推导式
{ key_expr: value_expr for value in collection [if condition] }
b = {i: i % 2 == 0 for i in range(10) if i % 3 == 0}
print(b)
# {0: True, 3: False, 6: True, 9: False}
集合推导式
{ expr for value in collection [if condition] }
c = {i for i in [1, 2, 3, 4, 5, 5, 6, 4, 3, 2, 1]}
print(c)
# {1, 2, 3, 4, 5, 6}
七、其他
next(iterator[, default]) Return the next item from the iterator.
If default is given and the iterator is exhausted, it is returned instead of raising StopIteration.
next(iterator[, default])从迭代器返回下一项。如果给出了[,default]参数,并且迭代器已经耗尽,则返回它而不是引发StopIteration异常,而是default。
it = iter([1, 2, 3, 4, 5])
# 循环:
while True:
try:
# 获得下一个值:
x = next(it)
print(x)
except StopIteration:
# 遇到StopIteration就退出循环
break
#给next(iterable[, default])函数第二个参数传值,则会返回[default]值。
it = iter([1, 2, 5, 4, 3])
while True:
x = next(it, 'a')
print(x)
if x == 'a':
break
总结
记录循环语句中常用的函数。
最后
以上就是鲤鱼滑板为你收集整理的python基础学习之循环中的函数第二章:python基础学习之循环中的函数一、奇怪的range()函数二、有趣的enumerate()函数三、经典语句:break四、经典contunue语句五、随性pass语句六、 有趣的推导式七、其他总结的全部内容,希望文章能够帮你解决python基础学习之循环中的函数第二章:python基础学习之循环中的函数一、奇怪的range()函数二、有趣的enumerate()函数三、经典语句:break四、经典contunue语句五、随性pass语句六、 有趣的推导式七、其他总结所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复