新手如何掌握Python for循环的用法,有哪些知识点
Admin 2022-09-14 群英技术资讯 258 次浏览
Python 是基于集合的迭代。
for <var> in <iterable>: # <iterable>是对象的集合——例如,列表或元组。 <statement(s)> # 循环体 a = ['曹操', '孫権', '劉備'] for i in a: print(i)
输出:
曹操
孫権
劉備
可迭代对象 ,可以被传递给内置的 Python 函数 iter() 处理,返回做迭代器
iter('曹操孫権') # String <str_iterator object at 0x036E2750> iter(['曹操', '孫権', '劉備']) # List <list_iterator object at 0x036E27D0> iter(('曹操', '孫権', '劉備')) # Tuple <tuple_iterator object at 0x036E27F0> iter({'曹操', '孫権', '劉備'}) # Set <set_iterator object at 0x036DEA08> iter({'曹操': 1, '孫権': 2, '劉備': 3}) # Dict <dict_keyiterator object at 0x036DD990>
不可以迭代的对象
iter(1) # Integer Traceback (most recent call last): File "<stdin>", line 1, in <module> TypeError: 'int' object is not iterable iter(1.1) # Float Traceback (most recent call last): File "<stdin>", line 1, in <module> TypeError: 'float' object is not iterable iter(len) # Built-in function Traceback (most recent call last): File "<stdin>", line 1, in <module> TypeError: 'builtin_function_or_method' object is not iterable
迭代器,是一个值生产者,从其关联的可迭代对象中产生连续的值。内置函数 next() 用于从迭代器中获取下一个值。
list_ = ['曹操', '孫権', '劉備'] itr = iter(list_ ) itr <list_iterator object at 0x031EFD10> next(itr) '曹操' next(itr) '孫権' next(itr) '劉備'
使用内置 list()、tuple() 和 set() 函数一次从迭代器中获取所有值。
list_ = ['曹操', '孫権', '劉備'] itr = iter(list_) list(itr) ['曹操', '孫権', '劉備'] itr = iter(list_) tuple(itr) ('曹操', '孫権', '劉備') itr = iter(list_) set(itr) {'劉備', '曹操', '孫権'}
字典的遍历循环,循环变量被分配给字典的键。
d = {'曹操': 1, '孫権': 2, '劉備': 3} for k in d: print(k)
输出:
曹操
孫権
劉備
访问字典值的操作
for k in d: print(d[k]) #输出: #1 #2 #3 for v in d.values(): print(v) #输出: #1 #2 #3
同时遍历字典的键和值。循环变量 for 不限于单个变量,可以是元组。
i, j = (1, 2) print(i, j) 1 2 for i, j in [(1, 2), (3, 4), (5, 6)]: print(i, j)
输出:
1 2
3 4
5 6
字典方法 items() 有效地将键/值对列表作为元组返回。
d = {'曹操': 1, '孫権': 2, '劉備': 3} d.items() dict_items([('曹操', 1), ('孫権', 2), ('劉備', 3)]) d = {'曹操': 1, '孫権': 2, '劉備': 3} for k, v in d.items(): print('k =', k, ', v =', v)
输出:
k = 曹操 , v = 1
k = 孫権 , v = 2
k = 劉備 , v = 3
Python 提供了内置range()函数,返回一个产生整数序列的迭代。
range(<end>)返回一个产生以0开头的整数的迭代,直到<end>但不包括<end>数值
x = range(5) x range(0, 5) type(x) <class 'range'>
range对象是可迭代的,所以可以通过for循环遍历它们来获取值。
for n in x: print(n)
输出:
0
1
2
3
4
list() 、tuple() 一次获取所有的循环遍历的值。
list(x) [0, 1, 2, 3, 4] tuple(x) (0, 1, 2, 3, 4)
range(<start>, <end>, <step>)返回一个迭代结果。
list(range(5, 20, 3)) [5, 8, 11, 14, 17] # 默认为1 list(range(5, 10, 1)) [5, 6, 7, 8, 9] list(range(5, 10)) [5, 6, 7, 8, 9] # 数值范围必须是可以正向迭代 list(range(-5, 5)) [-5, -4, -3, -2, -1, 0, 1, 2, 3, 4] list(range(5, -5)) [] list(range(5, -5, -1)) [5, 4, 3, 2, 1, 0, -1, -2, -3, -4]
break 完全终止循环。
for i in ['曹操', '孫権', '劉備']: if '孫' in i: break print(i)
输出:
曹操
continue 终止当前迭代并进行下一次迭代。
for i in ['曹操', '孫権', '劉備']: if '孫' in i: continue print(i)
输出:
曹操
劉備
for 循环的子句 else,类似于 while 循环的使用。
for i in ['曹操', '孫権', '劉備']: print(i) else: print('结束。')
输出:
曹操
孫権
劉備
结束。
else 如果列表被一条语句 break,则不会执行。
for i in ['曹操', '孫権', '劉備']: if i == '孫権': break print(i) else: print('结束。')
输出:
曹操
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:mmqy2019@163.com进行举报,并提供相关证据,查实之后,将立刻删除涉嫌侵权内容。
猜你喜欢
这篇文章主要介绍了用Python提取PDF表格的方法,帮助大家更好的理解和学习使用python,感兴趣的朋友可以了解下
先说1双引号与3个双引号的区别,双引号所表示的字符串通常要写成一行如:s1 = "hello,world"如果要写成多行,那么就要使用 (“连行符”
Python中的符号有很多种,包括算术运算符,比较运算符,赋值运算符,按位运算符,逻辑运算符,成员运算符,身份运算符,还有其他一些描述性符号。
这篇文章主要介绍了Python NumPy中diag函数的使用说明,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
这篇文章主要介绍了使用Python和scikit-learn创建混淆矩阵的示例详解,该示例包括生成数据集、为数据集选择合适的机器学习模型、构建、配置和训练它,最后解释结果,即混淆矩阵,需要的朋友可以参考下
成为群英会员,开启智能安全云计算之旅
立即注册Copyright © QY Network Company Ltd. All Rights Reserved. 2003-2020 群英 版权所有
增值电信经营许可证 : B1.B2-20140078 粤ICP备09006778号 域名注册商资质 粤 D3.1-20240008