for循环
break终止循环
a = 'abcd'
for i in a:
... if i == 'c':
... print("'c' stands for 'cease'")
... break
... print(i)
...
a
b
'c' stands for 'cease'
continue退出本次循环,继续执行下一个循环
for i in a:
... if i == 'c':
... print("'c' stands for 'cease'")
... continue
... print(i)
...
a
b
'c' stands for 'cease'
d
for…else
for i in array:
codes for loop
else:
if exit loop normally then run these codes…
for i in a:
... if i == 'c':
... print("'c' stands for 'cease'")
... break
... print(i)
... else:
... print('This loop has ended normally.')
...
a
b
'c' stands for 'cease' # 循环没有正常结束,没有返回预先写好的提示
for i in a:
... if i == 'c':
... print("'c' stands for 'cease'")
... continue
... print(i)
... else:
... print('This loop has ended normally.')
...
a
b
'c' stands for 'cease'
d
This loop has ended normally. # 循环正常结束,返回提示
公共操作
运算符
公共方法:支持字符串、列表、元组、集合、字典
enumerate
作用是将要给可遍历的数据对象(如,列表、元组或字符串)组合为一个索引序列,同时列出数据及其下标,一般与for循环联用。
enumerate(可遍历对象, start = 0) # 下标起始默认值为0,可不写
a = ['sun','moon','star']
for i in enumerate(a):
... print(i)
...
(0, 'sun')
(1, 'moon')
(2, 'star')
for i in enumerate(a,start = 1):
... print(i)
...
(1, 'sun')
(2, 'moon')
(3, 'star')
for i,j in enumerate(a):
... print(f'The index is {i}, corresponding data is {j}')
...
The index is 0, corresponding data is sun
The index is 1, corresponding data is moon
The index is 2, corresponding data is star
推导式
主要作用是简化代码
列表的推导式
创建一个由0-10组成的列表,如果不用推导式,就必须令 a = [1,2,3,4…10]。如果创建一个从0-100的列表呢?
range(起,终,步长) # 步长如果是1可以省略不写,注意,终和下标是一样的,如果要创建0-10的数组,必须要把终的位置写在11!
a = []
for i in range(0,11):
... a.append(i)
... print(a) # print的对齐位置很重要
...
[0]
[0, 1]
[0, 1, 2]
[0, 1, 2, 3]
[0, 1, 2, 3, 4]
[0, 1, 2, 3, 4, 5]
[0, 1, 2, 3, 4, 5, 6]
[0, 1, 2, 3, 4, 5, 6, 7]
[0, 1, 2, 3, 4, 5, 6, 7, 8]
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
a = []
for i in range(0,11):
... a.append(i)
... print(a) # print的对齐位置很重要
...
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
带条件语句的列表推导式
创建一个0-10以内偶数组成的列表
a = [i for i in range(0,11,2)]
print(a)
[0, 2, 4, 6, 8, 10]
a = [i for i in range(0,11) if i%2 == 0] # 除以2,余数为0的i
print(a)[0, 2, 4, 6, 8, 10]
字典推导式
用于将两个列表合并为字典,或提取字典中的目标数据
list1 = ['beef','mutton','pork']
list2 = [55,45,22]
a = {list1[i]:list2[i] for i in range(len(list2))}
print(a)
{'beef': 55, 'mutton': 45, 'pork': 22}
list1.append('fish')
list1
['beef', 'mutton', 'pork', 'fish']
a = {list1[i]:list2[i] for i in range(len(list2))}
print(a)
{'beef': 55, 'mutton': 45, 'pork': 22}
a = {list1[i]:list2[i] for i in range(len(list1))} # 注意,len要用最短的那个列表,否则会报错
Traceback (most recent call last):
File "", line 1, in
File "", line 1, in
IndexError: list index out of range
b = {i:j for i,j in a.items() if j > 40} # i代表的是key,j代表的是value
print(b)
{'beef': 55, 'mutton': 45}
集合推导式
不常用,主要是数字的运算
c = {2,2,3}
d = {i ** 3 for i in c}
print(d)
{8, 27} # 集合自动去重,进行了3次方的运算
Original: https://www.cnblogs.com/randyszone/p/16520243.html
Author: randy198
Title: python入门基础知识五(for循环、公共操作与推导式)
原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/583076/
转载文章受原作者版权保护。转载请注明原作者出处!