Python中for循环怎么定义迭代(for,python,开发技术)

时间:2024-05-02 23:39:20 作者 : 石家庄SEO 分类 : 开发技术
  • TAG :

Python的 for 循环

Python 是基于集合的迭代。

for<var>in<iterable>:#<iterable>是对象的集合——例如,列表或元组。<statement(s)>#循环体a=['曹操','孫権','劉備']foriina:print(i)

输出:

曹操
孫権
劉備

可迭代对象 ,可以被传递给内置的 Python 函数 iter() 处理,返回做迭代器

iter('曹操孫権')#String<str_iteratorobjectat0x036E2750>iter(['曹操','孫権','劉備'])#List<list_iteratorobjectat0x036E27D0>iter(('曹操','孫権','劉備'))#Tuple<tuple_iteratorobjectat0x036E27F0>iter({'曹操','孫権','劉備'})#Set<set_iteratorobjectat0x036DEA08>iter({'曹操':1,'孫権':2,'劉備':3})#Dict<dict_keyiteratorobjectat0x036DD990>

不可以迭代的对象

iter(1)#IntegerTraceback(mostrecentcalllast):File"<stdin>",line1,in<module>TypeError:'int'objectisnotiterableiter(1.1)#FloatTraceback(mostrecentcalllast):File"<stdin>",line1,in<module>TypeError:'float'objectisnotiterableiter(len)#Built-infunctionTraceback(mostrecentcalllast):File"<stdin>",line1,in<module>TypeError:'builtin_function_or_method'objectisnotiterable

迭代器,是一个值生产者,从其关联的可迭代对象中产生连续的值。内置函数 next() 用于从迭代器中获取下一个值。

list_=['曹操','孫権','劉備']itr=iter(list_)itr<list_iteratorobjectat0x031EFD10>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}forkind:print(k)

输出:

曹操
孫権
劉備

访问字典值的操作

forkind:print(d[k])#输出:#1#2#3forvind.values():print(v)#输出:#1#2#3

同时遍历字典的键和值。循环变量 for 不限于单个变量,可以是元组。

i,j=(1,2)print(i,j)12fori,jin[(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}fork,vind.items():print('k=',k,',v=',v)

输出:

k = 曹操 , v = 1
k = 孫権 , v = 2
k = 劉備 , v = 3

range()功能

Python 提供了内置range()函数,返回一个产生整数序列的迭代。

Python中for循环怎么定义迭代

range(<end>)返回一个产生以0开头的整数的迭代,直到<end>但不包括<end>数值

x=range(5)xrange(0,5)type(x)<class'range'>

range对象是可迭代的,所以可以通过for循环遍历它们来获取值。

forninx: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]#默认为1list(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语句 和continue语句

break 完全终止循环。

foriin['曹操','孫権','劉備']:if'孫'ini:breakprint(i)

输出:

曹操

continue 终止当前迭代并进行下一次迭代。

foriin['曹操','孫権','劉備']:if'孫'ini:continueprint(i)

输出:

曹操
劉備

else语句

for 循环的子句 else,类似于 while 循环的使用。

foriin['曹操','孫権','劉備']:print(i)else:print('结束。')

输出:

曹操
孫権
劉備
结束。

else 如果列表被一条语句 break,则不会执行。

foriin['曹操','孫権','劉備']:ifi=='孫権':breakprint(i)else:print('结束。')

输出:

曹操

 </div> <div class="zixun-tj-product adv-bottom"></div> </div> </div> <div class="prve-next-news">
本文:Python中for循环怎么定义迭代的详细内容,希望对您有所帮助,信息来源于网络。
上一篇:vue-cli3在main.js中console.log()会报错怎么解决下一篇:

19 人围观 / 0 条评论 ↓快速评论↓

(必须)

(必须,保密)

阿狸1 阿狸2 阿狸3 阿狸4 阿狸5 阿狸6 阿狸7 阿狸8 阿狸9 阿狸10 阿狸11 阿狸12 阿狸13 阿狸14 阿狸15 阿狸16 阿狸17 阿狸18