<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
    <channel>
        <title>递归 on 北斗的天地</title>
        <link>https://www.imcry.vip/tags/%E9%80%92%E5%BD%92.html</link>
        <description>Recent content in 递归 on 北斗的天地</description>
        <generator>Hugo -- gohugo.io</generator>
        <language>zh</language>
        <lastBuildDate>Mon, 20 Jan 2025 03:07:00 +0800</lastBuildDate><atom:link href="https://www.imcry.vip/tags/%E9%80%92%E5%BD%92/index.xml" rel="self" type="application/rss+xml" /><item>
            <title>[Python]初学递归</title>
            <link>https://www.imcry.vip/post/324.html</link>
            <pubDate>Mon, 20 Jan 2025 03:07:00 +0800</pubDate>
            <guid>https://www.imcry.vip/post/324.html</guid>
            <description>&lt;ul&gt;&#xA;&lt;li&gt;&lt;strong&gt;递归&lt;/strong&gt;在编程中是一种非常重要的&lt;em&gt;&lt;strong&gt;算法&lt;/strong&gt;&lt;/em&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;递归&lt;/strong&gt;:即方法(函数)自己调用自己的一种特殊编程写法&lt;/li&gt;&#xA;&lt;li&gt;最典型的&lt;strong&gt;递归场景&lt;/strong&gt;为找出一个文件夹中全部的&lt;em&gt;&lt;strong&gt;文件&lt;/strong&gt;&lt;/em&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h1 id=&#34;注意&#34;&gt;&lt;a href=&#34;#%e6%b3%a8%e6%84%8f&#34; class=&#34;header-anchor&#34;&gt;&lt;/a&gt;注意&#xA;&lt;/h1&gt;&lt;ul&gt;&#xA;&lt;li&gt;退出的条件，否则容易变成无限递归&lt;/li&gt;&#xA;&lt;li&gt;返回值的传递,确保从最内层，层层传递到最外层&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img alt=&#34;递归示意图&#34; loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://s21.ax1x.com/2025/01/20/pEkfKtU.jpg&#34;&gt;&lt;/p&gt;&#xA;&lt;h1 id=&#34;代码&#34;&gt;&lt;a href=&#34;#%e4%bb%a3%e7%a0%81&#34; class=&#34;header-anchor&#34;&gt;&lt;/a&gt;代码&#xA;&lt;/h1&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; os&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;def&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;get_files_recursion_from_dir&lt;/span&gt;(path)&lt;span style=&#34;color:#f92672&#34;&gt;-&amp;gt;&lt;/span&gt;list:&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&amp;#34;&amp;#34;获取指定路径下的全部文件列表&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;    包含全部文件，如果目录不存在就返回空列表&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;    Args:&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;        path (str): 被获取的路径&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;    &amp;#34;&amp;#34;&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    print(&lt;span style=&#34;color:#e6db74&#34;&gt;f&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;正在搜索文件：&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;{&lt;/span&gt;path&lt;span style=&#34;color:#e6db74&#34;&gt;}&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    file_list &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; []&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#66d9ef&#34;&gt;if&lt;/span&gt; os&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;path&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;exists(path):    &lt;span style=&#34;color:#75715e&#34;&gt;# 判断路径是否存在&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#66d9ef&#34;&gt;for&lt;/span&gt; f &lt;span style=&#34;color:#f92672&#34;&gt;in&lt;/span&gt; os&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;listdir(path):      &lt;span style=&#34;color:#75715e&#34;&gt;# 列出该路径下的内容&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            new_path &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; path &lt;span style=&#34;color:#f92672&#34;&gt;+&lt;/span&gt; &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;/&amp;#34;&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;+&lt;/span&gt; f&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            &lt;span style=&#34;color:#66d9ef&#34;&gt;if&lt;/span&gt; os&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;path&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;isdir(new_path): &lt;span style=&#34;color:#75715e&#34;&gt;# 判断指定路径是否为文件夹&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;                file_list &lt;span style=&#34;color:#f92672&#34;&gt;+=&lt;/span&gt; get_files_recursion_from_dir(new_path)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            &lt;span style=&#34;color:#66d9ef&#34;&gt;else&lt;/span&gt;:&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;                file_list&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;append(new_path)        &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#66d9ef&#34;&gt;else&lt;/span&gt;:&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#66d9ef&#34;&gt;return&lt;/span&gt; []&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#66d9ef&#34;&gt;return&lt;/span&gt; file_list&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;if&lt;/span&gt; __name__ &lt;span style=&#34;color:#f92672&#34;&gt;==&lt;/span&gt; &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;__main__&amp;#39;&lt;/span&gt;:&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    print(get_files_recursion_from_dir(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;D:/draw.io&amp;#34;&lt;/span&gt;))&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h1 id=&#34;输出&#34;&gt;&lt;a href=&#34;#%e8%be%93%e5%87%ba&#34; class=&#34;header-anchor&#34;&gt;&lt;/a&gt;输出&#xA;&lt;/h1&gt;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;正在搜索文件：D:/draw.io&#xD;&#xA;正在搜索文件：D:/draw.io/locales&#xD;&#xA;正在搜索文件：D:/draw.io/resources&#xD;&#xA;[&amp;#39;D:/draw.io/chrome_100_percent.pak&amp;#39;, &amp;#39;D:/draw.io/chrome_200_percent.pak&amp;#39;, &amp;#39;D:/draw.io/d3dcompiler_47.dll&amp;#39;, &amp;#39;D:/draw.io/draw.io.exe&amp;#39;, &amp;#39;D:/draw.io/ffmpeg.dll&amp;#39;, &amp;#39;D:/draw.io/icudtl.dat&amp;#39;, &amp;#39;D:/draw.io/libEGL.dll&amp;#39;, &amp;#39;D:/draw.io/libGLESv2.dll&amp;#39;, &amp;#39;D:/draw.io/LICENSE.electron.txt&amp;#39;, &amp;#39;D:/draw.io/LICENSES.chromium.html&amp;#39;, &amp;#39;D:/draw.io/locales/af.pak&amp;#39;, &amp;#39;D:/draw.io/locales/am.pak&amp;#39;, &amp;#39;D:/draw.io/locales/ar.pak&amp;#39;, &amp;#39;D:/draw.io/locales/bg.pak&amp;#39;, &amp;#39;D:/draw.io/locales/bn.pak&amp;#39;, &#xD;&#xA;&amp;#39;D:/draw.io/locales/ca.pak&amp;#39;, &amp;#39;D:/draw.io/locales/cs.pak&amp;#39;, &amp;#39;D:/draw.io/locales/da.pak&amp;#39;, &amp;#39;D:/draw.io/locales/de.pak&amp;#39;, &amp;#39;D:/draw.io/locales/el.pak&amp;#39;, &amp;#39;D:/draw.io/locales/en-GB.pak&amp;#39;, &amp;#39;D:/draw.io/locales/en-US.pak&amp;#39;, &amp;#39;D:/draw.io/locales/es-419.pak&amp;#39;, &amp;#39;D:/draw.io/locales/es.pak&amp;#39;, &amp;#39;D:/draw.io/locales/et.pak&amp;#39;, &amp;#39;D:/draw.io/locales/fa.pak&amp;#39;, &amp;#39;D:/draw.io/locales/fi.pak&amp;#39;, &amp;#39;D:/draw.io/locales/fil.pak&amp;#39;, &amp;#39;D:/draw.io/locales/fr.pak&amp;#39;, &amp;#39;D:/draw.io/locales/gu.pak&amp;#39;, &amp;#39;D:/draw.io/locales/he.pak&amp;#39;, &amp;#39;D:/draw.io/locales/hi.pak&amp;#39;, &amp;#39;D:/draw.io/locales/hr.pak&amp;#39;, &amp;#39;D:/draw.io/locales/hu.pak&amp;#39;, &amp;#39;D:/draw.io/locales/id.pak&amp;#39;, &amp;#39;D:/draw.io/locales/it.pak&amp;#39;, &amp;#39;D:/draw.io/locales/ja.pak&amp;#39;, &amp;#39;D:/draw.io/locales/kn.pak&amp;#39;, &amp;#39;D:/draw.io/locales/ko.pak&amp;#39;, &amp;#39;D:/draw.io/locales/lt.pak&amp;#39;, &amp;#39;D:/draw.io/locales/lv.pak&amp;#39;, &amp;#39;D:/draw.io/locales/ml.pak&amp;#39;, &amp;#39;D:/draw.io/locales/mr.pak&amp;#39;, &amp;#39;D:/draw.io/locales/ms.pak&amp;#39;, &amp;#39;D:/draw.io/locales/nb.pak&amp;#39;, &amp;#39;D:/draw.io/locales/nl.pak&amp;#39;, &amp;#39;D:/draw.io/locales/pl.pak&amp;#39;, &amp;#39;D:/draw.io/locales/pt-BR.pak&amp;#39;, &amp;#39;D:/draw.io/locales/pt-PT.pak&amp;#39;, &amp;#39;D:/draw.io/locales/ro.pak&amp;#39;, &amp;#39;D:/draw.io/locales/ru.pak&amp;#39;, &amp;#39;D:/draw.io/locales/sk.pak&amp;#39;, &amp;#39;D:/draw.io/locales/sl.pak&amp;#39;, &amp;#39;D:/draw.io/locales/sr.pak&amp;#39;, &amp;#39;D:/draw.io/locales/sv.pak&amp;#39;, &amp;#39;D:/draw.io/locales/sw.pak&amp;#39;, &amp;#39;D:/draw.io/locales/ta.pak&amp;#39;, &amp;#39;D:/draw.io/locales/te.pak&amp;#39;, &amp;#39;D:/draw.io/locales/th.pak&amp;#39;, &amp;#39;D:/draw.io/locales/tr.pak&amp;#39;, &amp;#39;D:/draw.io/locales/uk.pak&amp;#39;, &amp;#39;D:/draw.io/locales/ur.pak&amp;#39;, &amp;#39;D:/draw.io/locales/vi.pak&amp;#39;, &amp;#39;D:/draw.io/locales/zh-CN.pak&amp;#39;, &amp;#39;D:/draw.io/locales/zh-TW.pak&amp;#39;, &amp;#39;D:/draw.io/resources/app-update.yml&amp;#39;, &amp;#39;D:/draw.io/resources/app.asar&amp;#39;, &amp;#39;D:/draw.io/resources/elevate.exe&amp;#39;, &amp;#39;D:/draw.io/resources.pak&amp;#39;, &amp;#39;D:/draw.io/snapshot_blob.bin&amp;#39;, &amp;#39;D:/draw.io/Uninstall draw.io.exe&amp;#39;, &amp;#39;D:/draw.io/v8_context_snapshot.bin&amp;#39;, &amp;#39;D:/draw.io/vk_swiftshader.dll&amp;#39;, &amp;#39;D:/draw.io/vk_swiftshader_icd.json&amp;#39;, &amp;#39;D:/draw.io/vulkan-1.dll&amp;#39;]&#xA;&lt;/code&gt;&lt;/pre&gt;</description>
        </item></channel>
</rss>
