中国史之【鲧禹治水】:
中国古代的神话传说故事。三皇五帝时期,黄河泛滥,鲧(gun)、禹父子二人受命于尧、舜二帝,任崇伯和夏伯,负责治水。大禹置个人利益于不顾,“三过家门而不入”,治水13年,耗尽心血与体力,终于完成了治水的大业。
-来源:全历史APP
今天讲python的循环语句,具体是while和for语句的使用。有需要的也可以直接去我的github查看全部笔记:
https://github.com/JackKoLing/python_notes_with_ten_days
俗话说:“好记性不如烂笔头”,多写写多记记,总不会错。多一些不为什么的坚持,少一些功利主义的追求。对于环境的配置,可以参考以下两篇:
- win10版 @小保,公众号:CV之道
【深度学习环境配置】手把手实战配置深度学习环境(win10版) - Linux版 @小保,公众号:CV之道
【深度学习环境配置】手把手实战配置深度学习环境(Ubuntu20.04版)
1 while语句
while bool_expression:while_suite
else:else_suite
- break: 跳出最内层的循环
- continue: 跳到所处的最近层循环的开始处
- pass: 占位语句
- else代码块:循环正常终止(while语句不满足)才会执行,如果循环终止是由break导致的,则else不会执行
url = "www.baidu.com"
while url:print(url)url = url[1:]
>>>
www.baidu.com
ww.baidu.com
w.baidu.com
.baidu.com
baidu.com
aidu.com
idu.com
du.com
u.com
.com
com
om
m
url = "www.baidu.com"
while url:print(url)url = url[:-1]
else:print("Game over.")
>>>
www.baidu.com
www.baidu.co
www.baidu.c
www.baidu.
www.baidu
www.baid
www.bai
www.ba
www.b
www.
www
ww
w
Game over.
url = "www.baidu.com"
x = 0
while url:print(url)url = url[:-1] x += 1if x > 7:break
else:print("Game over.")
>>>
www.baidu.com
www.baidu.co
www.baidu.c
www.baidu.
www.baidu
www.baid
www.bai
www.ba
x = 0
y = 30
while x<y:print(x, end&#61;&#39; &#39;) x &#43;&#61; 1
>>>
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29
l1 &#61; [1, 2, 3, 4]
while l1:print(l1[-1]) l1.pop()
>>>
4
3
2
1
d1 &#61; {&#39;x&#39;:1, &#39;y&#39;:23, &#39;z&#39;:78}
keylist &#61; list(d1.keys())
while keylist:print(keylist[0]) keylist.pop(0)
else:print(len(d1))
>>>
x
y
z
3
d1 &#61; {}
l1 &#61; [0, 1, 2, 3, 4, 5, 6]
l2 &#61; ["Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat"]
i &#61; 0
if len(l1) &#61;&#61; len(l2):while i < len(l1):d1[l1[i]] &#61; l2[i]i &#43;&#61; 1
print(d1)
>>>
{0: &#39;Sun&#39;, 1: &#39;Mon&#39;, 2: &#39;Tue&#39;, 3: &#39;Wed&#39;, 4: &#39;Thu&#39;, 5: &#39;Fri&#39;, 6: &#39;Sat&#39;}
2 for语句
- for语句是最常用的循环语句&#xff0c;但是&#xff0c;如果要追求性能效率&#xff0c;能用矩阵运算&#xff0c;就不要用循环。
d1 &#61; {}
l1 &#61; [0, 1, 2, 3, 4, 5, 6]
l2 &#61; ["Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat"]
for (k, v) in zip(l1, l2):d1[k] &#61; v
print(d1)
>>>
{0: &#39;Sun&#39;, 1: &#39;Mon&#39;, 2: &#39;Tue&#39;, 3: &#39;Wed&#39;, 4: &#39;Thu&#39;, 5: &#39;Fri&#39;, 6: &#39;Sat&#39;}
l1 &#61; [1, 2, 3, 4]
for i in l1:print(i)
>>>
1
2
3
4
sum &#61; 0
for i in range(1, 101):sum &#43;&#61; i
print(sum)
>>>
5050
d1 &#61; {0: &#39;Sun&#39;, 1: &#39;Mon&#39;, 2: &#39;Tue&#39;}
for k, v in d1.items():print(k, v)
>>>
0 Sun
1 Mon
2 Tue
l1 &#61; ["Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat"]
for i in range(1, len(l1), 2):print(l1[i])
>>>
Mon
Wed
Fri
(补充回顾&#xff09;
python是动态语言&#xff0c;使用sys.getrefcount()查看对象引用次数
&#xff08;1&#xff09;增加对象的引用计数场景&#xff1a;
- 对象创建时&#xff0c;将对象添加进容器时&#xff0c;类似list.append();
- 当对象被当做参数传递给函数时&#xff1b;
- 为对象创建另外变量名
&#xff08;2&#xff09;减少引用计数&#xff1a;
- 引用此对象的某变量名被显式销毁&#xff1a;del x;
- 给引用此对象的某变量名重新赋值&#xff1b;
- 从容器中移除对象&#xff0c;类似list.pop()&#xff1b;
- 容器本身被销毁
【声明】&#xff1a;学习笔记基于互联网上各种学习资源的个人整理。
以上是本期内容&#xff0c;下期介绍python的列表解析。
我叫小保&#xff0c;一名计算机视觉爱好者、学习者、追随者&#xff0c;欢迎关注我一起学习。