{"id":170952,"date":"2023-08-04T11:21:45","date_gmt":"2023-08-04T03:21:45","guid":{"rendered":"http:\/\/www.idc.net\/help\/170952\/"},"modified":"2023-08-04T11:21:45","modified_gmt":"2023-08-04T03:21:45","slug":"%e5%90%8e%e6%b5%aa%e4%ba%91python%e6%95%99%e7%a8%8b%ef%bc%9apython%e8%bf%ad%e4%bb%a3%e5%99%a8%e4%b8%8e%e7%94%9f%e6%88%90%e5%99%a8%e7%94%a8%e9%80%94%e6%98%af%e4%bb%80%e4%b9%88","status":"publish","type":"post","link":"https:\/\/idc.net\/help\/170952\/","title":{"rendered":"\u540e\u6d6a\u4e91Python\u6559\u7a0b\uff1apython\u8fed\u4ee3\u5668\u4e0e\u751f\u6210\u5668\u7528\u9014\u662f\u4ec0\u4e48"},"content":{"rendered":"<blockquote>\n<p>python\u8fed\u4ee3\u5668\u7684\u7528\u9014\uff1a\u7528next\u51fd\u6570\u83b7\u53d6\u4e0b\u4e00\u4e2a\u5143\u7d20\uff0c\u53ea\u80fd\u5411\u524d\u53d6\u503c\uff0c\u4e0d\u4f1a\u540e\u9000\u3002python\u751f\u6210\u5668\u7684\u7528\u9014\uff1a\u52a8\u6001\u63d0\u4f9b\u6570\u636e\uff0c\u8c03\u7528return\u751f\u6210\u4e00\u4e2aStopIteration\u5f02\u5e38\uff0c\u901a\u77e5next(it)\u51fd\u6570\u4e0d\u518d\u63d0\u4f9b\u6570\u636e\u3002<\/p>\n<\/blockquote>\n<p><img decoding=\"async\" src=\"https:\/\/oss.py.cn\/pycn\/upload\/article\/000\/000\/018\/5f1273cb7d185369.jpg\" class=\"aligncenter\"><\/p>\n<p><strong><span style=\"font-size: 18px\">\u4e00\u3001\u8fed\u4ee3\u5668<\/span><\/strong><\/p>\n<p><strong><span style=\"font-size: 16px\">\u4ec0\u4e48\u662f\u8fed\u4ee3\u5668<\/span><\/strong><\/p>\n<p>\u8fed\u4ee3\u5668\u662f\u6307\u7528iter\uff08\u53ef\u8fed\u4ee3\u5bf9\u8c61\uff09\u51fd\u6570\u8fd4\u56de\u7684\u5bf9\u8c61\uff08\u5b9e\u4f8b\uff09<\/p>\n<p>\u8fed\u4ee3\u5668\u53ef\u4ee5\u7528next(it)\u51fd\u6570\u83b7\u53d6\u53ef\u8fed\u4ee3\u5bf9\u8c61\u7684\u6570\u636e<\/p>\n<p><strong><span style=\"font-size: 16px\">\u8fed\u4ee3\u5668\u51fd\u6570\uff1a<\/span><\/strong><\/p>\n<p>iter\uff08iterable\uff09\u4ece\u53ef\u8fed\u4ee3\u5bf9\u8c61\u4e2d\u8fd4\u56de\u4e00\u4e2a\u8fed\u4ee3\u5668\uff0citerable\u5fc5\u987b\u662f\u4e00\u4e2a\u80fd\u63d0\u4f9b\u8fed\u4ee3\u5668\u7684\u53ef\u8fed\u4ee3\u5bf9\u8c61<\/p>\n<p>next\uff08iterator\uff09\u4ece\u8fed\u4ee3\u5668iterator\u4e2d\u83b7\u53d6\u4e0b\u4e00\u6761\u8bb0\u5f55\uff0c\u5982\u679c\u65e0\u6cd5\u83b7\u53d6\u4e0b\u4e00\u6761\u8bb0\u5f55\uff0c\u5219\u89e6\u53d1StopIteration\u5f02\u5e38<\/p>\n<p><strong><span style=\"font-size: 16px\">\u8bf4\u660e\uff1a<\/span><\/strong><\/p>\n<p>\u8fed\u4ee3\u5668\u662f\u8bbf\u95ee\u53ef\u8fed\u4ee3\u5bf9\u8c61\u7684\u4e00\u79cd\u65b9\u5f0f<\/p>\n<p>\u8fed\u4ee3\u5668\u53ea\u80fd\u5411\u524d\u53d6\u503c\uff0c\u4e0d\u4f1a\u540e\u9000<\/p>\n<p>\u7528iter\u51fd\u6570\u53ef\u4ee5\u8fd4\u56de\u4e00\u4e2a\u53ef\u8fed\u4ee3\u5bf9\u8c61\u7684\u8fed\u4ee3\u5668<\/p>\n<p>\u793a\u4f8b\uff1a<\/p>\n<pre>L&nbsp;=&nbsp;[2,3,4]\u6216\u8005&nbsp;L&nbsp;=&nbsp;range(2,5)\nit&nbsp;=&nbsp;iter(L)#\u4f7f\u7528iter\u51fd\u6570\u4f7fit\u7ed1\u5b9a\u4e00\u4e2a\u8fed\u4ee3\u5668\u5bf9\u8c61\nnext(it)#\u8fd4\u56de2\nnext(it)#\u8fd4\u56de3\nnext(it)#\u8fd4\u56de4\nnext(it)#\u89e6\u53d1StopIteration\u5f02\u5e38<\/pre>\n<p><strong><span style=\"font-size: 16px\">\u8fed\u4ee3\u5668\u7684\u7528\u9014\uff1a<\/span><\/strong><\/p>\n<p>\u8fed\u4ee3\u5668\u5bf9\u8c61\u80fd\u7528next\u51fd\u6570\u83b7\u53d6\u4e0b\u4e00\u4e2a\u5143\u7d20<\/p>\n<p>\u793a\u4f8b\uff1a<\/p>\n<pre>#\u6b64\u793a\u4f8b\u793a\u610f\u7528\u8fed\u4ee3\u5668\u6765\u8bbf\u95ee\u53ef\u8fed\u4ee3\u5bf9\u8c61\n#\u7528for\u8bed\u53e5\u8bbf\u95ee\u53ef\u8fed\u4ee3\u5bf9\u8c61L\nL&nbsp;=&nbsp;[2,3,5,7]\nfor&nbsp;x&nbsp;in&nbsp;L:\nprint(x)\n#\u7528while\u8bed\u53e5\u8bbf\u95ee\u53ef\u8fed\u4ee3\u5bf9\u8c61L\nit&nbsp;=&nbsp;iter(L)\nwhile&nbsp;True:\ntry\uff1a\nx&nbsp;=&nbsp;next(L)\nprint(x)\nexcept&nbsp;StopIteration:\nprint('\u7ec8\u6b62\u8fed\u4ee3\uff0c\u8fed\u4ee3\u5668\u4e0d\u80fd\u63d0\u4f9b\u4efb\u4f55\u6570\u636e')\nbreak<\/pre>\n<p><strong><span style=\"font-size: 18px\">\u4e8c\u3001\u751f\u6210\u5668Generator(python2.5\u4e4b\u540e)<\/span><\/strong><\/p>\n<p><strong><span style=\"font-size: 16px\">\u4ec0\u4e48\u662f\u751f\u6210\u5668\uff1a<\/span><\/strong><\/p>\n<p>\u751f\u6210\u5668\u662f\u80fd\u591f\u52a8\u6001\u63d0\u4f9b\u6570\u636e\u7684\u5bf9\u8c61\uff08\u4e0d\u662f\u4e00\u6b21\u6027\u751f\u6210\u4ece\u800c\u4e0d\u5360\u636e\u5185\u5b58\u7a7a\u95f4\uff09\uff0c\u751f\u6210\u5668\u5bf9\u8c61\u4e5f\u662f\u53ef\u8fed\u4ee3\u5bf9\u8c61\uff08\u5b9e\u4f8b\uff09<\/p>\n<p>\u751f\u6210\u5668\u6709\u4e24\u79cd\uff1a<\/p>\n<p>\u751f\u6210\u5668\u51fd\u6570<\/p>\n<p>\u751f\u6210\u5668\u8868\u8fbe\u5f0f<\/p>\n<p>\u751f\u6210\u5668\u51fd\u6570\u5b9a\u4e49\uff1a<\/p>\n<p>\u542b\u6709yield\u8bed\u53e5\u7684\u51fd\u6570\u662f\u751f\u6210\u5668\u51fd\u6570\uff0c\u6b64\u51fd\u6570\u88ab\u8c03\u7528\u65f6\u5c06\u8fd4\u56de\u4e00\u4e2a\u751f\u6210\u5668\u5bf9\u8c61<\/p>\n<p>yield\u8bed\u53e5<\/p>\n<p>\u8bed\u6cd5\uff1ayield \u8868\u8fbe\u5f0f<\/p>\n<p>\u8bf4\u660e\uff1ayield\u7528\u4e8edef\u51fd\u6570\u4e2d\uff0c\u76ee\u7684\u662f\u5c06\u6b64\u51fd\u6570\u4f5c\u4e3a\u751f\u6210\u5668\u51fd\u6570\u4f7f\u7528<\/p>\n<p>yield\u7528\u6765\u751f\u6210\u6570\u636e\uff0c\u4f9b\u8fed\u4ee3\u5668next\uff08it\uff09\u51fd\u6570\u4f7f\u7528<\/p>\n<p>\u5b9e\u4f8b\uff1a<\/p>\n<pre>#\u6b64\u793a\u4f8b\u793a\u610f\u751f\u6210\u5668\u51fd\u6570\u7684\u5b9a\u4e49\u53ca\u793a\u610f\ndef&nbsp;myyield():\n'''\u6b64\u51fd\u6570\u4e3a\u751f\u6210\u5668\u51fd\u6570'''\nyield&nbsp;2#\u751f\u62102\nyield&nbsp;3#\u751f\u62103\nyield&nbsp;5#\u751f\u62105\n#\u7528for\u8bed\u53e5\u8bbf\u95eemyyield\u51fd\u6570\nfor&nbsp;x&nbsp;in&nbsp;myyield():\nprint(x)\n#\u7528\u8fed\u4ee3\u5668\u8bbf\u95ee\ngen&nbsp;=&nbsp;myyield()\nit&nbsp;=&nbsp;iter(gen)\nnext(it)<\/pre>\n<p><strong><span style=\"font-size: 16px\">\u751f\u6210\u5668\u51fd\u6570\u8bf4\u660e\uff1a<\/span><\/strong><\/p>\n<p>\uff081\uff09\u751f\u6210\u5668\u51fd\u6570\u7684\u8c03\u7528\u5c06\u8fd4\u56de\u4e00\u4e2a\u751f\u6210\u5668\u5bf9\u8c61\uff0c\u751f\u6210\u5668\u5bf9\u8c61\u662f\u4e00\u4e2a\u53ef\u8fed\u4ee3\u5bf9\u8c61<\/p>\n<p>\uff082\uff09\u5728\u751f\u6210\u5668\u51fd\u6570\u8c03\u7528return\u65f6\u4f1a\u751f\u6210\u4e00\u4e2aStopIteration\u5f02\u5e38\u6765\u901a\u77e5next(it)\u51fd\u6570\u4e0d\u518d\u80fd\u63d0\u4f9b\u6570\u636e<\/p>\n<p>\u793a\u4f8b\uff1a<\/p>\n<pre>#\u5199\u4e00\u4e2amyinteger(n)\u51fd\u6570\ndef&nbsp;myinteger(n):\nfor&nbsp;x&nbsp;in&nbsp;range(n):\nyield&nbsp;x\n#for\u5faa\u73af\u8bbf\u95ee\u751f\u6210\u5668\nfor&nbsp;x&nbsp;in&nbsp;myinteger(int(input('\u8bf7\u8f93\u5165\u6574\u6570\uff1a')))\nprint(x)\n#\u7528\u8fed\u4ee3\u5668\u8bbf\u95ee\nit&nbsp;=&nbsp;iter(myinteger(10))\nwhile&nbsp;True:\nprint(next(it))#\u523010\u65f6\u53d1\u751fStopIteration\u9519\u8bef<\/pre>\n<p>\u751f\u6210\u5668\u8868\u8fbe\u5f0f\uff1a<\/p>\n<p>\u8bed\u6cd5\uff1a\uff08\u8868\u8fbe\u5f0f for \u53d8\u91cf in \u53ef\u8fed\u4ee3\u5bf9\u8c61 [if \u771f\u503c\u8868\u8fbe\u5f0f]\uff09<\/p>\n<p>\u4f5c\u7528\uff1a\u7528\u63a8\u5bfc\u5f0f\u7684\u5f62\u5f0f\u751f\u6210\u4e00\u4e2a\u65b0\u7684\u751f\u6210\u5668<\/p>\n<p>\u793a\u4f8b\uff1a<\/p>\n<pre>gen&nbsp;=&nbsp;(x**2&nbsp;for&nbsp;x&nbsp;in&nbsp;range(1,4))#\u5e76\u6ca1\u6709\u751f\u6210\u6570\u636e\n#gen&nbsp;=&nbsp;[x**2&nbsp;for&nbsp;x&nbsp;in&nbsp;range(1,4)]#\u5148\u5728\u5185\u5b58\u4e2d\u751f\u6210\u6570\u636e\nit&nbsp;=&nbsp;iter(gen)\nnext(it)#1\nnext(it)#4\nnext(it)#9\nnext(it)#StopIteration<\/pre>\n<p>\u5217\u8868\u63a8\u5bfc\u5f0f\u548c\u751f\u6210\u8868\u8fbe\u5f0f\u7684\u533a\u522b\uff1a<\/p>\n<p>\u751f\u6210\u5668\u662f\u52a8\u6001\u751f\u6210\u7684\uff0c\u73b0\u7528\u73b0\u751f\u6210\uff0c\u5217\u8868\u8868\u8fbe\u5f0f\u662f\u9759\u6001\u7684\u3002<\/p>\n<p>\u793a\u4f8b\uff1a<\/p>\n<p><span style=\"font-size: 14px\"><\/span><\/p>\n<pre>L&nbsp;=&nbsp;[1,2,3,4]\ngen&nbsp;=&nbsp;(x&nbsp;for&nbsp;x&nbsp;in&nbsp;L)#gen\u7ed1\u5b9a\u751f\u6210\u5668\nlst&nbsp;=&nbsp;[x&nbsp;for&nbsp;x&nbsp;in&nbsp;L]#lst\u7ed1\u5b9a\u5217\u8868\nL[1]&nbsp;=&nbsp;222#\u6539\u53d8\u539f\u5217\u8868\u7684\u7b2c\u4e8c\u4e2a\u5143\u7d20\nfor&nbsp;x&nbsp;in&nbsp;lst:\nprint(x)#1&nbsp;2&nbsp;3&nbsp;4\u4e0d\u53d8\nfor&nbsp;x&nbsp;in&nbsp;gen:\nprint(x)#1&nbsp;222&nbsp;3&nbsp;4&nbsp;,\u7b2c\u4e8c\u4e2a\u6570\u662f222<\/pre>\n<p>\u8fed\u4ee3\u5de5\u5177\u51fd\u6570\uff1a<\/p>\n<p>\u8fed\u4ee3\u5de5\u5177\u51fd\u6570\u7684\u4f5c\u7528\u662f\u751f\u6210\u4e00\u4e2a\u4e2a\u6027\u5316\u7684\u53ef\u8fed\u4ee3\u5bf9\u8c61<\/p>\n<p>\u51fd\u6570\uff1a<\/p>\n<p>zip( iter1 [,iter2,iter3,\u2026])\u8fd4\u56de\u4e00\u4e2azip\u5bf9\u8c61\uff0c\u6b64\u5bf9\u8c61\u7528\u4e8e\u751f\u6210\u4e00\u4e2a\u5143\u7ec4\uff0c\u6b64\u5143\u7ec4\u7684\u4e2a\u6570\u7531\u6700\u5c0f\u7684\u53ef\u8fed\u4ee3\u5bf9\u8c61\u51b3\u5b9a<\/p>\n<p>enumerate(iterable[,start])\u751f\u6210\u5e26\u7d22\u5f15\u7684\u679a\u4e3e\u7c7b\u578b\uff0c\u8fd4\u56de\u8fed\u4ee3\u7c7b\u578b\u4e3a\u7d22\u5f15-\u503c\u961f\uff08index,value\uff09\u5bf9\uff0c\u9ed8\u8ba4\u7d22\u5f15\u4ece\u96f6\u5f00\u59cb\uff0c\u4e5f\u53ef\u4ee5\u4f7f\u7528start\u7ed1\u5b9a<\/p>\n<p>\u793a\u4f8b1\uff1a<\/p>\n<pre>numbers&nbsp;=&nbsp;[10086,10000,10010,95588]\nnames&nbsp;=&nbsp;['\u4e2d\u56fd\u79fb\u52a8','\u4e2d\u56fd\u7535\u4fe1','\u4e2d\u56fd\u8054\u901a']\nfor&nbsp;x&nbsp;in&nbsp;zip(numbers,names):\nprint(x)\n#\u751f\u6210\u5143\u7ec4\uff1a\n#(10086,'\u4e2d\u56fd\u79fb\u52a8')\n#(10000,'\u4e2d\u56fd\u7535\u4fe1')\n#(10010,'\u4e2d\u56fd\u79fb\u52a8')\n#for&nbsp;n,a&nbsp;in&nbsp;zip(numbers,names):\n#print(n,a)\n#d&nbsp;=&nbsp;dict(zip(names,number))\u751f\u6210\u5b57\u5178\n#for&nbsp;x&nbsp;in&nbsp;zip(range(10),numbers,names):\n#&nbsp;print(x)x\u4e3a\u4e09\u4e2a\u5bf9\u8c61\u7ec4\u6210\u7684\u4e00\u4e2a\u5143\u7ec4<\/pre>\n<p>\u793a\u4f8b2\uff1a<\/p>\n<pre>#\u5b9e\u73b0\u673a\u5236\ndef&nbsp;myzip(iter1,iter2):\nit1&nbsp;=&nbsp;iter(iter1)\nit2&nbsp;=&nbsp;iter(iter2)\nwhile&nbsp;True:\nx&nbsp;=&nbsp;next(it1)\ny&nbsp;=&nbsp;next(it2)\nyield&nbsp;(x,y)\nfor&nbsp;x&nbsp;in&nbsp;myzip(range(100),range(50))\n#\u793a\u4f8b3\uff1a\nnames&nbsp;=&nbsp;list('string')\nfor&nbsp;x&nbsp;in&nbsp;enumerate(names,start&nbsp;=&nbsp;100):\nprint(x)#\u6307\u5b9astart\u4f1a\u4f7f\u7d22\u5f15\u4ecestart\u5f00\u59cb\n#(1000,'s')&nbsp;(101,'t')..\u8fd4\u56de\u5143\u7ec4\u7684\u7d22\u5f15-\u503c\u5bf9\uff0c\u9ed8\u8ba4\u7d22\u5f15\u4ece0\u5f00\u59cb\n#index&nbsp;=&nbsp;element&nbsp;=&nbsp;x\n#print('\u7d22\u5f15\u662f',index,'\u5bf9\u5e94\u7684\u5143\u7d20\u662f',element)<\/pre>\n<blockquote>\n<p>\u63a8\u8350\u8bfe\u7a0b\uff1apython\u57fa\u7840\u8bed\u6cd5\u5168\u8bb2\u89e3\u89c6\u9891\uff08\u9a6c\u54e5\u6559\u80b22014\u7248\uff09<\/p>\n<\/blockquote>\n","protected":false},"excerpt":{"rendered":"<p>python\u8fed\u4ee3\u5668\u7684\u7528\u9014\uff1a\u7528next\u51fd\u6570\u83b7\u53d6\u4e0b\u4e00\u4e2a\u5143\u7d20\uff0c\u53ea\u80fd\u5411\u524d\u53d6\u503c\uff0c\u4e0d\u4f1a\u540e\u9000\u3002python\u751f\u6210\u5668\u7684\u7528\u9014\uff1a\u52a8\u6001 [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":170953,"comment_status":"closed","ping_status":"","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[182397],"tags":[],"class_list":["post-170952","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-python"],"_links":{"self":[{"href":"https:\/\/idc.net\/help\/wp-json\/wp\/v2\/posts\/170952","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/idc.net\/help\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/idc.net\/help\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/idc.net\/help\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/idc.net\/help\/wp-json\/wp\/v2\/comments?post=170952"}],"version-history":[{"count":0,"href":"https:\/\/idc.net\/help\/wp-json\/wp\/v2\/posts\/170952\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/idc.net\/help\/wp-json\/wp\/v2\/media\/170953"}],"wp:attachment":[{"href":"https:\/\/idc.net\/help\/wp-json\/wp\/v2\/media?parent=170952"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/idc.net\/help\/wp-json\/wp\/v2\/categories?post=170952"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/idc.net\/help\/wp-json\/wp\/v2\/tags?post=170952"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}