<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/">
  <channel>
    <title>Steem on Hacper&#39;s Blog</title>
    <link>https://hacperme.com/tags/steem/</link>
    <description>Recent content in Steem on Hacper&#39;s Blog</description>
    <generator>Hugo -- gohugo.io</generator>
    <language>zh</language>
    <lastBuildDate>Sun, 26 Aug 2018 15:24:10 +0800</lastBuildDate>
    <atom:link href="https://hacperme.com/tags/steem/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>Learn Python with Steem #10 #11 笔记</title>
      <link>https://hacperme.com/posts/notes/2018-08-26-learn-python-with-steem-10-11-note/</link>
      <pubDate>Sun, 26 Aug 2018 15:24:10 +0800</pubDate>
      <guid>https://hacperme.com/posts/notes/2018-08-26-learn-python-with-steem-10-11-note/</guid>
      <description>Learn Python with Steem #10 #11 笔记 [toc] 划重点 获取用户的文章列表 通过 steem.Steem.get_account_history 获取用户的动态，从中筛选出文章的 permlink。 再用 steem.Steem.get_content 方法获取每篇文章的详细信息。 其实也可</description>
      <content:encoded><![CDATA[<h1 id="learn-python-with-steem-10-11-笔记">Learn Python with Steem #10 #11 笔记</h1>
<hr>
<p>[toc]</p>
<h2 id="划重点">划重点</h2>
<ul>
<li>
<p>获取用户的文章列表 通过 steem.Steem.get_account_history 获取用户的动态，从中筛选出文章的 permlink。</p>
<p>再用 steem.Steem.get_content 方法获取每篇文章的详细信息。</p>
<p>其实也可以用 steem.blog.Blog 获取用户所有的文章信息。</p>
</li>
</ul>
<h2 id="编程练习">编程练习</h2>
<p>导入需要的Python包</p>
<div class="highlight"><div class="chroma">
<table class="lntable"><tr><td class="lntd">
<pre tabindex="0" class="chroma"><code><span class="lnt">1
</span><span class="lnt">2
</span><span class="lnt">3
</span><span class="lnt">4
</span><span class="lnt">5
</span><span class="lnt">6
</span></code></pre></td>
<td class="lntd">
<pre tabindex="0" class="chroma"><code class="language-python" data-lang="python"><span class="line"><span class="cl"><span class="kn">import</span> <span class="nn">csv</span>
</span></span><span class="line"><span class="cl"><span class="kn">import</span> <span class="nn">pymongo</span>
</span></span><span class="line"><span class="cl"><span class="kn">from</span> <span class="nn">datetime</span> <span class="kn">import</span> <span class="n">datetime</span><span class="p">,</span> <span class="n">timezone</span><span class="p">,</span> <span class="n">timedelta</span>
</span></span><span class="line"><span class="cl"><span class="kn">from</span> <span class="nn">steem.blog</span> <span class="kn">import</span> <span class="n">Blog</span>
</span></span><span class="line"><span class="cl"><span class="kn">from</span> <span class="nn">pprint</span> <span class="kn">import</span> <span class="n">pprint</span>
</span></span><span class="line"><span class="cl"><span class="kn">import</span> <span class="nn">math</span>
</span></span></code></pre></td></tr></table>
</div>
</div><p>定义一个日期转换函数</p>
<div class="highlight"><div class="chroma">
<table class="lntable"><tr><td class="lntd">
<pre tabindex="0" class="chroma"><code><span class="lnt">1
</span><span class="lnt">2
</span><span class="lnt">3
</span></code></pre></td>
<td class="lntd">
<pre tabindex="0" class="chroma"><code class="language-python" data-lang="python"><span class="line"><span class="cl"><span class="k">def</span> <span class="nf">date_2_local_date</span><span class="p">(</span><span class="n">_utcdate</span><span class="p">,</span> <span class="n">_timedelta</span><span class="p">):</span>
</span></span><span class="line"><span class="cl">    <span class="n">utc_date</span> <span class="o">=</span> <span class="n">_utcdate</span><span class="o">.</span><span class="n">replace</span><span class="p">(</span><span class="n">tzinfo</span><span class="o">=</span><span class="n">timezone</span><span class="o">.</span><span class="n">utc</span><span class="p">)</span>
</span></span><span class="line"><span class="cl">    <span class="k">return</span> <span class="n">utc_date</span><span class="o">.</span><span class="n">astimezone</span><span class="p">(</span><span class="n">timezone</span><span class="p">(</span><span class="n">timedelta</span><span class="p">(</span><span class="n">hours</span><span class="o">=</span><span class="n">_timedelta</span><span class="p">)))</span>
</span></span></code></pre></td></tr></table>
</div>
</div><p>定义计算声望的函数</p>
<div class="highlight"><div class="chroma">
<table class="lntable"><tr><td class="lntd">
<pre tabindex="0" class="chroma"><code><span class="lnt">1
</span><span class="lnt">2
</span></code></pre></td>
<td class="lntd">
<pre tabindex="0" class="chroma"><code class="language-python" data-lang="python"><span class="line"><span class="cl"><span class="k">def</span> <span class="nf">parse_reputation</span><span class="p">(</span><span class="n">raw_reputation</span><span class="p">):</span>
</span></span><span class="line"><span class="cl">    <span class="k">return</span> <span class="p">(</span><span class="n">math</span><span class="o">.</span><span class="n">log10</span><span class="p">(</span><span class="nb">int</span><span class="p">(</span><span class="n">raw_reputation</span><span class="p">))</span> <span class="o">-</span> <span class="mi">9</span><span class="p">)</span> <span class="o">*</span> <span class="mi">9</span> <span class="o">+</span> <span class="mi">25</span>
</span></span></code></pre></td></tr></table>
</div>
</div><p>定义获取文章详情的函数，返回字典类型的数据</p>
<p><img loading="lazy" src="https://i.loli.net/2018/08/26/5b825040a0e76.jpg" alt="blob.jpg"  />
</p>
<p>定义获取用户所有文章的函数，返回字典</p>
<div class="highlight"><div class="chroma">
<table class="lntable"><tr><td class="lntd">
<pre tabindex="0" class="chroma"><code><span class="lnt">1
</span><span class="lnt">2
</span><span class="lnt">3
</span><span class="lnt">4
</span><span class="lnt">5
</span><span class="lnt">6
</span><span class="lnt">7
</span><span class="lnt">8
</span><span class="lnt">9
</span></code></pre></td>
<td class="lntd">
<pre tabindex="0" class="chroma"><code class="language-python" data-lang="python"><span class="line"><span class="cl"><span class="k">def</span> <span class="nf">get_user_posts</span><span class="p">(</span><span class="n">account_name</span><span class="o">=</span><span class="s1">&#39;yjcps&#39;</span><span class="p">):</span>
</span></span><span class="line"><span class="cl">    <span class="n">blog</span> <span class="o">=</span> <span class="n">Blog</span><span class="p">(</span><span class="n">account_name</span><span class="p">)</span>
</span></span><span class="line"><span class="cl">    <span class="n">all_data</span> <span class="o">=</span> <span class="n">blog</span><span class="o">.</span><span class="n">all</span><span class="p">()</span>
</span></span><span class="line"><span class="cl">    <span class="n">posts</span> <span class="o">=</span> <span class="p">[</span><span class="n">get_post_detail</span><span class="p">(</span><span class="n">post</span><span class="p">)</span> <span class="k">for</span> <span class="n">post</span> <span class="ow">in</span> <span class="n">all_data</span><span class="p">]</span>
</span></span><span class="line"><span class="cl">    <span class="k">return</span> <span class="p">{</span>
</span></span><span class="line"><span class="cl">        <span class="s1">&#39;account_name&#39;</span><span class="p">:</span><span class="n">account_name</span><span class="p">,</span>
</span></span><span class="line"><span class="cl">        <span class="s1">&#39;count_posts&#39;</span><span class="p">:</span><span class="nb">len</span><span class="p">(</span><span class="n">posts</span><span class="p">),</span>
</span></span><span class="line"><span class="cl">        <span class="s1">&#39;posts&#39;</span><span class="p">:</span><span class="n">posts</span>
</span></span><span class="line"><span class="cl">    <span class="p">}</span>
</span></span></code></pre></td></tr></table>
</div>
</div><p>保存所有文章数据为CSV文件</p>
<div class="highlight"><div class="chroma">
<table class="lntable"><tr><td class="lntd">
<pre tabindex="0" class="chroma"><code><span class="lnt">1
</span><span class="lnt">2
</span><span class="lnt">3
</span><span class="lnt">4
</span><span class="lnt">5
</span><span class="lnt">6
</span><span class="lnt">7
</span><span class="lnt">8
</span></code></pre></td>
<td class="lntd">
<pre tabindex="0" class="chroma"><code class="language-python" data-lang="python"><span class="line"><span class="cl"><span class="k">def</span> <span class="nf">save_to_csv</span><span class="p">(</span><span class="n">data</span><span class="p">:</span> <span class="nb">list</span><span class="p">,</span> <span class="n">file_path</span><span class="p">,</span> <span class="n">encoding</span><span class="p">):</span>
</span></span><span class="line"><span class="cl">    <span class="n">keys</span> <span class="o">=</span> <span class="n">data</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span><span class="o">.</span><span class="n">keys</span><span class="p">()</span>
</span></span><span class="line"><span class="cl">    <span class="k">with</span> <span class="nb">open</span><span class="p">(</span>
</span></span><span class="line"><span class="cl">            <span class="n">file_path</span><span class="p">,</span> <span class="s1">&#39;w&#39;</span><span class="p">,</span> <span class="n">newline</span><span class="o">=</span><span class="s1">&#39;&#39;</span><span class="p">,</span> <span class="n">encoding</span><span class="o">=</span><span class="n">encoding</span><span class="p">,</span>
</span></span><span class="line"><span class="cl">            <span class="n">errors</span><span class="o">=</span><span class="s1">&#39;ignore&#39;</span><span class="p">)</span> <span class="k">as</span> <span class="n">f</span><span class="p">:</span>
</span></span><span class="line"><span class="cl">        <span class="n">writer</span> <span class="o">=</span> <span class="n">csv</span><span class="o">.</span><span class="n">DictWriter</span><span class="p">(</span><span class="n">f</span><span class="p">,</span> <span class="n">fieldnames</span><span class="o">=</span><span class="n">keys</span><span class="p">)</span>
</span></span><span class="line"><span class="cl">        <span class="n">writer</span><span class="o">.</span><span class="n">writeheader</span><span class="p">()</span>
</span></span><span class="line"><span class="cl">        <span class="n">writer</span><span class="o">.</span><span class="n">writerows</span><span class="p">(</span><span class="n">data</span><span class="p">)</span>
</span></span></code></pre></td></tr></table>
</div>
</div><p>将数据导入到 MongoDB 数据库</p>
<div class="highlight"><div class="chroma">
<table class="lntable"><tr><td class="lntd">
<pre tabindex="0" class="chroma"><code><span class="lnt">1
</span><span class="lnt">2
</span><span class="lnt">3
</span><span class="lnt">4
</span><span class="lnt">5
</span><span class="lnt">6
</span><span class="lnt">7
</span></code></pre></td>
<td class="lntd">
<pre tabindex="0" class="chroma"><code class="language-python" data-lang="python"><span class="line"><span class="cl"><span class="c1"># 配置数据库连接信息</span>
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl"><span class="n">MONGO_HOST</span> <span class="o">=</span> <span class="s1">&#39;localhost&#39;</span>
</span></span><span class="line"><span class="cl"><span class="n">MONGO_COLLECTION</span> <span class="o">=</span> <span class="s1">&#39;steem&#39;</span>
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl"><span class="n">mongo_client</span> <span class="o">=</span> <span class="n">pymongo</span><span class="o">.</span><span class="n">MongoClient</span><span class="p">(</span><span class="n">MONGO_HOST</span><span class="p">)</span>
</span></span><span class="line"><span class="cl"><span class="n">mongo_collection</span> <span class="o">=</span> <span class="n">mongo_client</span><span class="p">[</span><span class="n">MONGO_COLLECTION</span><span class="p">]</span>
</span></span></code></pre></td></tr></table>
</div>
</div><div class="highlight"><div class="chroma">
<table class="lntable"><tr><td class="lntd">
<pre tabindex="0" class="chroma"><code><span class="lnt"> 1
</span><span class="lnt"> 2
</span><span class="lnt"> 3
</span><span class="lnt"> 4
</span><span class="lnt"> 5
</span><span class="lnt"> 6
</span><span class="lnt"> 7
</span><span class="lnt"> 8
</span><span class="lnt"> 9
</span><span class="lnt">10
</span><span class="lnt">11
</span><span class="lnt">12
</span><span class="lnt">13
</span><span class="lnt">14
</span><span class="lnt">15
</span></code></pre></td>
<td class="lntd">
<pre tabindex="0" class="chroma"><code class="language-python" data-lang="python"><span class="line"><span class="cl"><span class="k">def</span> <span class="nf">save_to_mongodb</span><span class="p">(</span><span class="n">data</span><span class="p">,</span> <span class="n">tablename</span><span class="p">):</span>
</span></span><span class="line"><span class="cl">    <span class="k">if</span> <span class="n">data</span> <span class="ow">is</span> <span class="ow">not</span> <span class="kc">None</span><span class="p">:</span>
</span></span><span class="line"><span class="cl">        <span class="k">if</span> <span class="nb">isinstance</span><span class="p">(</span><span class="n">data</span><span class="p">,</span> <span class="nb">list</span><span class="p">):</span>
</span></span><span class="line"><span class="cl">            <span class="n">result</span> <span class="o">=</span> <span class="n">mongo_collection</span><span class="p">[</span><span class="n">tablename</span><span class="p">]</span><span class="o">.</span><span class="n">insert_many</span><span class="p">(</span><span class="n">data</span><span class="p">)</span>
</span></span><span class="line"><span class="cl">            <span class="k">if</span> <span class="n">result</span><span class="o">.</span><span class="n">acknowledged</span><span class="p">:</span>
</span></span><span class="line"><span class="cl">                <span class="nb">print</span><span class="p">(</span><span class="s1">&#39;已导入</span><span class="si">%d</span><span class="s1">条数据&#39;</span> <span class="o">%</span> <span class="nb">len</span><span class="p">(</span><span class="n">result</span><span class="o">.</span><span class="n">inserted_ids</span><span class="p">))</span>
</span></span><span class="line"><span class="cl">                <span class="k">return</span> <span class="n">result</span><span class="o">.</span><span class="n">inserted_ids</span>
</span></span><span class="line"><span class="cl">        <span class="k">if</span> <span class="nb">isinstance</span><span class="p">(</span><span class="n">data</span><span class="p">,</span> <span class="nb">dict</span><span class="p">):</span>
</span></span><span class="line"><span class="cl">            <span class="k">if</span> <span class="n">mongo_collection</span><span class="p">[</span><span class="n">tablename</span><span class="p">]</span><span class="o">.</span><span class="n">update_one</span><span class="p">({</span>
</span></span><span class="line"><span class="cl">                    <span class="s1">&#39;account_name&#39;</span><span class="p">:</span> <span class="n">data</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s1">&#39;account_name&#39;</span><span class="p">)},</span> <span class="p">{</span>
</span></span><span class="line"><span class="cl">                    <span class="s1">&#39;$set&#39;</span><span class="p">:</span> <span class="n">data</span><span class="p">},</span> <span class="n">upsert</span><span class="o">=</span><span class="kc">True</span><span class="p">):</span>
</span></span><span class="line"><span class="cl">                <span class="nb">print</span><span class="p">(</span><span class="s1">&#39;已导入</span><span class="si">%s</span><span class="s1">的数据&#39;</span> <span class="o">%</span> <span class="n">data</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s1">&#39;account_name&#39;</span><span class="p">))</span>
</span></span><span class="line"><span class="cl">                <span class="k">return</span> <span class="kc">True</span>
</span></span><span class="line"><span class="cl">    <span class="k">else</span><span class="p">:</span>
</span></span><span class="line"><span class="cl">        <span class="k">return</span> <span class="kc">None</span>
</span></span></code></pre></td></tr></table>
</div>
</div><div class="highlight"><div class="chroma">
<table class="lntable"><tr><td class="lntd">
<pre tabindex="0" class="chroma"><code><span class="lnt">1
</span></code></pre></td>
<td class="lntd">
<pre tabindex="0" class="chroma"><code class="language-python" data-lang="python"><span class="line"><span class="cl"><span class="n">yjcps</span> <span class="o">=</span> <span class="n">get_user_posts</span><span class="p">(</span><span class="s1">&#39;yjcps&#39;</span><span class="p">)</span>
</span></span></code></pre></td></tr></table>
</div>
</div><div class="highlight"><div class="chroma">
<table class="lntable"><tr><td class="lntd">
<pre tabindex="0" class="chroma"><code><span class="lnt">1
</span><span class="lnt">2
</span></code></pre></td>
<td class="lntd">
<pre tabindex="0" class="chroma"><code class="language-python" data-lang="python"><span class="line"><span class="cl"><span class="c1"># 查看返回的数据</span>
</span></span><span class="line"><span class="cl"><span class="n">pprint</span><span class="p">(</span><span class="n">yjcps</span><span class="p">)</span>
</span></span></code></pre></td></tr></table>
</div>
</div><div class="highlight"><div class="chroma">
<table class="lntable"><tr><td class="lntd">
<pre tabindex="0" class="chroma"><code><span class="lnt"> 1
</span><span class="lnt"> 2
</span><span class="lnt"> 3
</span><span class="lnt"> 4
</span><span class="lnt"> 5
</span><span class="lnt"> 6
</span><span class="lnt"> 7
</span><span class="lnt"> 8
</span><span class="lnt"> 9
</span><span class="lnt">10
</span><span class="lnt">11
</span><span class="lnt">12
</span><span class="lnt">13
</span><span class="lnt">14
</span><span class="lnt">15
</span><span class="lnt">16
</span><span class="lnt">17
</span><span class="lnt">18
</span><span class="lnt">19
</span><span class="lnt">20
</span><span class="lnt">21
</span><span class="lnt">22
</span><span class="lnt">23
</span><span class="lnt">24
</span><span class="lnt">25
</span><span class="lnt">26
</span></code></pre></td>
<td class="lntd">
<pre tabindex="0" class="chroma"><code class="language-gdscript3" data-lang="gdscript3"><span class="line"><span class="cl"><span class="p">{</span><span class="s1">&#39;account_name&#39;</span><span class="p">:</span> <span class="s1">&#39;yjcps&#39;</span><span class="p">,</span>
</span></span><span class="line"><span class="cl"> <span class="s1">&#39;count_posts&#39;</span><span class="p">:</span> <span class="mi">35</span><span class="p">,</span>
</span></span><span class="line"><span class="cl"> <span class="s1">&#39;posts&#39;</span><span class="p">:</span> <span class="p">[{</span><span class="s1">&#39;active&#39;</span><span class="p">:</span> <span class="s1">&#39;2018-08-23 11:32:18&#39;</span><span class="p">,</span>
</span></span><span class="line"><span class="cl">            <span class="s1">&#39;active_voter&#39;</span><span class="p">:</span> <span class="s1">&#39;steempress,justyy,happyukgo,doraemon,superbing,dailystats,cryptocurrencyhk,jianan,steemtaker,cnbuddy,anxin,foodielifestyle,woolfe19861008,dailychina,yjcps,dongfengman,serenazz,shentrading,ethanlee,fanso,lilypang22,steempress-io,sweet-jenny8,shine.wong,turtlegraphics,regretfulwooden,witnesstools,happyfamily,ilovecoding&#39;</span><span class="p">,</span>
</span></span><span class="line"><span class="cl">            <span class="s1">&#39;author&#39;</span><span class="p">:</span> <span class="s1">&#39;yjcps&#39;</span><span class="p">,</span>
</span></span><span class="line"><span class="cl">            <span class="s1">&#39;author_reputation&#39;</span><span class="p">:</span> <span class="mf">51.616714372034224</span><span class="p">,</span>
</span></span><span class="line"><span class="cl">            <span class="s1">&#39;body&#39;</span><span class="p">:</span> <span class="s1">&#39;# Learn Python with Steem #09 笔记</span><span class="se">\n</span><span class="s1">&#39;</span>
</span></span><span class="line"><span class="cl">                    <span class="s1">&#39;</span><span class="se">\n</span><span class="s1">&#39;</span>
</span></span><span class="line"><span class="cl">                    <span class="s1">&#39;---</span><span class="se">\n</span><span class="s1">&#39;</span>
</span></span><span class="line"><span class="cl">                    <span class="s1">&#39;</span><span class="se">\n</span><span class="s1">&#39;</span>
</span></span><span class="line"><span class="cl">                    <span class="s1">&#39;[toc]</span><span class="se">\n</span><span class="s1">&#39;</span>
</span></span><span class="line"><span class="cl">                    <span class="s1">&#39;</span><span class="se">\n</span><span class="s1">&#39;</span>
</span></span><span class="line"><span class="cl">                    <span class="s1">&#39;## 划重点</span><span class="se">\n</span><span class="s1">&#39;</span>
</span></span><span class="line"><span class="cl">                    <span class="s1">&#39;</span><span class="se">\n</span><span class="s1">&#39;</span>
</span></span><span class="line"><span class="cl">                    <span class="s1">&#39;- 遍历字典</span><span class="se">\n</span><span class="s1">&#39;</span>
</span></span><span class="line"><span class="cl">                    <span class="s1">&#39;</span><span class="se">\n</span><span class="s1">&#39;</span>
</span></span><span class="line"><span class="cl">                    <span class="s1">&#39; 利用dict.items()方法，用一个循环语句遍历整个字典的所有元素。</span><span class="se">\n</span><span class="s1">&#39;</span>
</span></span><span class="line"><span class="cl">                <span class="o">...</span>
</span></span><span class="line"><span class="cl">                <span class="o">...</span>
</span></span><span class="line"><span class="cl">                    <span class="s2">&#34;     &#39;last_post_date&#39;: &#39;2018-08-16-Thu 20:57:21&#39;,</span><span class="se">\n</span><span class="s2">&#34;</span>
</span></span><span class="line"><span class="cl">                    <span class="s2">&#34;     &#39;post_count&#39;: 5926,</span><span class="se">\n</span><span class="s2">&#34;</span>
</span></span><span class="line"><span class="cl">                    <span class="s2">&#34;     &#39;reputation&#39;: 67.26589131476406,</span><span class="se">\n</span><span class="s2">&#34;</span>
</span></span><span class="line"><span class="cl">                    <span class="s2">&#34;     &#39;sbd_balance&#39;: &#39;30.081 SBD&#39;,</span><span class="se">\n</span><span class="s2">&#34;</span>
</span></span><span class="line"><span class="cl">                    <span class="s2">&#34;     &#39;sp&#39;: 5186.613554620994,</span><span class="se">\n</span><span class="s2">&#34;</span>
</span></span><span class="line"><span class="cl">                    <span class="s2">&#34;     &#39;vesting_shares&#39;: 10501691.705077,</span><span class="se">\n</span><span class="s2">&#34;</span>
</span></span><span class="line"><span class="cl">                    <span class="s2">&#34;     &#39;vot</span>
</span></span></code></pre></td></tr></table>
</div>
</div><p><strong>limit_output extension: Maximum message size of 9996 exceeded with 57914 characters</strong></p>
<div class="highlight"><div class="chroma">
<table class="lntable"><tr><td class="lntd">
<pre tabindex="0" class="chroma"><code><span class="lnt">1
</span></code></pre></td>
<td class="lntd">
<pre tabindex="0" class="chroma"><code class="language-python" data-lang="python"><span class="line"><span class="cl"><span class="n">file_path</span> <span class="o">=</span> <span class="s1">&#39;</span><span class="si">{}</span><span class="s1">_all_posts_</span><span class="si">{}</span><span class="s1">.csv&#39;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="n">yjcps</span><span class="p">[</span><span class="s1">&#39;account_name&#39;</span><span class="p">],</span> <span class="n">yjcps</span><span class="p">[</span><span class="s1">&#39;count_posts&#39;</span><span class="p">])</span>
</span></span></code></pre></td></tr></table>
</div>
</div><div class="highlight"><div class="chroma">
<table class="lntable"><tr><td class="lntd">
<pre tabindex="0" class="chroma"><code><span class="lnt">1
</span><span class="lnt">2
</span><span class="lnt">3
</span><span class="lnt">4
</span><span class="lnt">5
</span></code></pre></td>
<td class="lntd">
<pre tabindex="0" class="chroma"><code class="language-python" data-lang="python"><span class="line"><span class="cl"><span class="c1"># 保存数据为CSV文件，方便在Windows的Excel软件打开，选择编码为gbk,这样会丢弃不能编码的字符</span>
</span></span><span class="line"><span class="cl"><span class="c1"># 可以选择utf-8编码，但需要从Excel中手动导入数据</span>
</span></span><span class="line"><span class="cl"><span class="c1"># 如果日后编程需要取用，建议使用utf-8编码</span>
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl"><span class="n">save_to_csv</span><span class="p">(</span><span class="n">yjcps</span><span class="p">[</span><span class="s1">&#39;posts&#39;</span><span class="p">],</span> <span class="n">file_path</span><span class="p">,</span> <span class="s1">&#39;gbk&#39;</span><span class="p">)</span>
</span></span></code></pre></td></tr></table>
</div>
</div><p>哈哈，我的所有文章数据，放到Excel里打开</p>
<p><img loading="lazy" src="https://ipfs.busy.org/ipfs/QmaydqUDiVJ1bi4ttWA4d461d8FPEvZKRnhdvh7SwQibp2" alt="图片.png"  />
</p>
<div class="highlight"><div class="chroma">
<table class="lntable"><tr><td class="lntd">
<pre tabindex="0" class="chroma"><code><span class="lnt">1
</span><span class="lnt">2
</span></code></pre></td>
<td class="lntd">
<pre tabindex="0" class="chroma"><code class="language-python" data-lang="python"><span class="line"><span class="cl"><span class="c1">#保存到数据库</span>
</span></span><span class="line"><span class="cl"><span class="n">save_to_mongodb</span><span class="p">(</span><span class="n">yjcps</span><span class="p">,</span> <span class="s1">&#39;steem_posts&#39;</span><span class="p">)</span>
</span></span></code></pre></td></tr></table>
</div>
</div><div class="highlight"><div class="chroma">
<table class="lntable"><tr><td class="lntd">
<pre tabindex="0" class="chroma"><code><span class="lnt">1
</span><span class="lnt">2
</span><span class="lnt">3
</span><span class="lnt">4
</span><span class="lnt">5
</span><span class="lnt">6
</span><span class="lnt">7
</span></code></pre></td>
<td class="lntd">
<pre tabindex="0" class="chroma"><code class="language-fallback" data-lang="fallback"><span class="line"><span class="cl">已导入yjcps的数据
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl">True
</span></span></code></pre></td></tr></table>
</div>
</div><p>成功保存到数据库</p>
<p><img loading="lazy" src="https://ipfs.busy.org/ipfs/QmdLm5AbaDjCT3bi2WM1ZdYnZDXM42brf7i7Tw5xfUgSXa" alt="图片.png"  />
</p>
<p>取大鹏的数据看看</p>
<div class="highlight"><div class="chroma">
<table class="lntable"><tr><td class="lntd">
<pre tabindex="0" class="chroma"><code><span class="lnt">1
</span></code></pre></td>
<td class="lntd">
<pre tabindex="0" class="chroma"><code class="language-python" data-lang="python"><span class="line"><span class="cl"><span class="n">dapeng</span> <span class="o">=</span> <span class="n">get_user_posts</span><span class="p">(</span><span class="s1">&#39;dapeng&#39;</span><span class="p">)</span>
</span></span></code></pre></td></tr></table>
</div>
</div><div class="highlight"><div class="chroma">
<table class="lntable"><tr><td class="lntd">
<pre tabindex="0" class="chroma"><code><span class="lnt">1
</span></code></pre></td>
<td class="lntd">
<pre tabindex="0" class="chroma"><code class="language-python" data-lang="python"><span class="line"><span class="cl"><span class="n">file_path</span> <span class="o">=</span> <span class="s1">&#39;</span><span class="si">{}</span><span class="s1">_all_posts_</span><span class="si">{}</span><span class="s1">.csv&#39;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="n">dapeng</span><span class="p">[</span><span class="s1">&#39;account_name&#39;</span><span class="p">],</span> <span class="n">dapeng</span><span class="p">[</span><span class="s1">&#39;count_posts&#39;</span><span class="p">])</span>
</span></span></code></pre></td></tr></table>
</div>
</div><div class="highlight"><div class="chroma">
<table class="lntable"><tr><td class="lntd">
<pre tabindex="0" class="chroma"><code><span class="lnt">1
</span></code></pre></td>
<td class="lntd">
<pre tabindex="0" class="chroma"><code class="language-python" data-lang="python"><span class="line"><span class="cl"><span class="n">save_to_csv</span><span class="p">(</span><span class="n">dapeng</span><span class="p">[</span><span class="s1">&#39;posts&#39;</span><span class="p">],</span> <span class="n">file_path</span><span class="p">,</span> <span class="s1">&#39;gbk&#39;</span><span class="p">)</span>
</span></span></code></pre></td></tr></table>
</div>
</div><div class="highlight"><div class="chroma">
<table class="lntable"><tr><td class="lntd">
<pre tabindex="0" class="chroma"><code><span class="lnt">1
</span></code></pre></td>
<td class="lntd">
<pre tabindex="0" class="chroma"><code class="language-python" data-lang="python"><span class="line"><span class="cl"><span class="n">save_to_mongodb</span><span class="p">(</span><span class="n">dapeng</span><span class="p">,</span> <span class="s1">&#39;steem_posts&#39;</span><span class="p">)</span>
</span></span></code></pre></td></tr></table>
</div>
</div><div class="highlight"><div class="chroma">
<table class="lntable"><tr><td class="lntd">
<pre tabindex="0" class="chroma"><code><span class="lnt">1
</span><span class="lnt">2
</span><span class="lnt">3
</span><span class="lnt">4
</span><span class="lnt">5
</span><span class="lnt">6
</span><span class="lnt">7
</span></code></pre></td>
<td class="lntd">
<pre tabindex="0" class="chroma"><code class="language-fallback" data-lang="fallback"><span class="line"><span class="cl">已导入dapeng的数据
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl">True
</span></span></code></pre></td></tr></table>
</div>
</div><p>花了5分钟来获取大鹏的所有文章数据，一共497篇文章，难怪要等那么久，以后从数据库获取数据会快一点。<br>
<img loading="lazy" src="https://ipfs.busy.org/ipfs/QmZrzqgxVMNaH6WYQNCjmk84VxW82eUZLq2fiqyeWDfYGa" alt="图片.png"  />
</p>
<p>再看看刘美女的文章</p>
<div class="highlight"><div class="chroma">
<table class="lntable"><tr><td class="lntd">
<pre tabindex="0" class="chroma"><code><span class="lnt">1
</span></code></pre></td>
<td class="lntd">
<pre tabindex="0" class="chroma"><code class="language-python" data-lang="python"><span class="line"><span class="cl"><span class="n">deanliu</span> <span class="o">=</span> <span class="n">get_user_posts</span><span class="p">(</span><span class="s1">&#39;deanliu&#39;</span><span class="p">)</span>
</span></span></code></pre></td></tr></table>
</div>
</div><div class="highlight"><div class="chroma">
<table class="lntable"><tr><td class="lntd">
<pre tabindex="0" class="chroma"><code><span class="lnt">1
</span><span class="lnt">2
</span></code></pre></td>
<td class="lntd">
<pre tabindex="0" class="chroma"><code class="language-fallback" data-lang="fallback"><span class="line"><span class="cl">WARNING:root:Retry in 1s -- RPCErrorRecoverable: non-200 response: 502 from api.steemit.com
</span></span><span class="line"><span class="cl">WARNING:root:Retry in 1s -- RPCErrorRecoverable: non-200 response: 502 from api.steemit.com
</span></span></code></pre></td></tr></table>
</div>
</div><div class="highlight"><div class="chroma">
<table class="lntable"><tr><td class="lntd">
<pre tabindex="0" class="chroma"><code><span class="lnt">1
</span></code></pre></td>
<td class="lntd">
<pre tabindex="0" class="chroma"><code class="language-python" data-lang="python"><span class="line"><span class="cl"><span class="n">file_path</span> <span class="o">=</span> <span class="s1">&#39;</span><span class="si">{}</span><span class="s1">_all_posts_</span><span class="si">{}</span><span class="s1">.csv&#39;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="n">deanliu</span><span class="p">[</span><span class="s1">&#39;account_name&#39;</span><span class="p">],</span> <span class="n">deanliu</span><span class="p">[</span><span class="s1">&#39;count_posts&#39;</span><span class="p">])</span>
</span></span></code></pre></td></tr></table>
</div>
</div><div class="highlight"><div class="chroma">
<table class="lntable"><tr><td class="lntd">
<pre tabindex="0" class="chroma"><code><span class="lnt">1
</span></code></pre></td>
<td class="lntd">
<pre tabindex="0" class="chroma"><code class="language-python" data-lang="python"><span class="line"><span class="cl"><span class="n">save_to_csv</span><span class="p">(</span><span class="n">deanliu</span><span class="p">[</span><span class="s1">&#39;posts&#39;</span><span class="p">],</span> <span class="n">file_path</span><span class="p">,</span> <span class="s1">&#39;gbk&#39;</span><span class="p">)</span>
</span></span></code></pre></td></tr></table>
</div>
</div><div class="highlight"><div class="chroma">
<table class="lntable"><tr><td class="lntd">
<pre tabindex="0" class="chroma"><code><span class="lnt">1
</span></code></pre></td>
<td class="lntd">
<pre tabindex="0" class="chroma"><code class="language-python" data-lang="python"><span class="line"><span class="cl"><span class="n">save_to_mongodb</span><span class="p">(</span><span class="n">deanliu</span><span class="p">,</span> <span class="s1">&#39;steem_posts&#39;</span><span class="p">)</span>
</span></span></code></pre></td></tr></table>
</div>
</div><div class="highlight"><div class="chroma">
<table class="lntable"><tr><td class="lntd">
<pre tabindex="0" class="chroma"><code><span class="lnt">1
</span><span class="lnt">2
</span><span class="lnt">3
</span><span class="lnt">4
</span><span class="lnt">5
</span><span class="lnt">6
</span><span class="lnt">7
</span></code></pre></td>
<td class="lntd">
<pre tabindex="0" class="chroma"><code class="language-fallback" data-lang="fallback"><span class="line"><span class="cl">已导入deanliu的数据
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl">True
</span></span></code></pre></td></tr></table>
</div>
</div><p>获取刘美女的所有文章花了11分钟，一共878篇文章，高产作家！</p>
<p><img loading="lazy" src="https://ipfs.busy.org/ipfs/QmewjLTJARvyjez2PBUfBNW8RGAv2SFEV9xKH6kRJki1im" alt="图片.png"  />
</p>
<p>也成功保存了CSV文件。</p>
<p><img loading="lazy" src="https://ipfs.busy.org/ipfs/Qmctf4Rd5i7Ksd6nacdLGouPuMqNCPLzdNtwSBpJRkjtbv" alt="图片.png"  />
</p>
<h2 id="补充">补充</h2>
<h3 id="为所有文章生成词云图片">为所有文章生成词云图片</h3>
<p>导入需要的Python包</p>
<div class="highlight"><div class="chroma">
<table class="lntable"><tr><td class="lntd">
<pre tabindex="0" class="chroma"><code><span class="lnt">1
</span><span class="lnt">2
</span><span class="lnt">3
</span><span class="lnt">4
</span><span class="lnt">5
</span><span class="lnt">6
</span><span class="lnt">7
</span></code></pre></td>
<td class="lntd">
<pre tabindex="0" class="chroma"><code class="language-python" data-lang="python"><span class="line"><span class="cl"><span class="kn">import</span> <span class="nn">numpy</span> <span class="k">as</span> <span class="nn">np</span>
</span></span><span class="line"><span class="cl"><span class="kn">import</span> <span class="nn">jieba.analyse</span>
</span></span><span class="line"><span class="cl"><span class="kn">import</span> <span class="nn">PIL.Image</span> <span class="k">as</span> <span class="nn">Image</span>
</span></span><span class="line"><span class="cl"><span class="kn">import</span> <span class="nn">re</span>
</span></span><span class="line"><span class="cl"><span class="kn">from</span> <span class="nn">matplotlib</span> <span class="kn">import</span> <span class="n">pyplot</span> <span class="k">as</span> <span class="n">plt</span>
</span></span><span class="line"><span class="cl"><span class="kn">from</span> <span class="nn">collections</span> <span class="kn">import</span> <span class="n">Counter</span>
</span></span><span class="line"><span class="cl"><span class="kn">from</span> <span class="nn">wordcloud</span> <span class="kn">import</span> <span class="n">WordCloud</span><span class="p">,</span> <span class="n">ImageColorGenerator</span>
</span></span></code></pre></td></tr></table>
</div>
</div><p>定义一个清理文章的函数，只保留中文</p>
<div class="highlight"><div class="chroma">
<table class="lntable"><tr><td class="lntd">
<pre tabindex="0" class="chroma"><code><span class="lnt">1
</span><span class="lnt">2
</span><span class="lnt">3
</span><span class="lnt">4
</span><span class="lnt">5
</span><span class="lnt">6
</span></code></pre></td>
<td class="lntd">
<pre tabindex="0" class="chroma"><code class="language-python" data-lang="python"><span class="line"><span class="cl"><span class="c1"># 去除所有半角全角符号，只留字母、数字、中文。</span>
</span></span><span class="line"><span class="cl"><span class="k">def</span> <span class="nf">clean_text</span><span class="p">(</span><span class="n">text</span><span class="p">):</span>
</span></span><span class="line"><span class="cl">    <span class="c1"># rule = re.compile(r&#34;[^a-zA-Z0-9\u4e00-\u9fa5]&#34;)</span>
</span></span><span class="line"><span class="cl">    <span class="n">rule</span> <span class="o">=</span> <span class="n">re</span><span class="o">.</span><span class="n">compile</span><span class="p">(</span><span class="sa">u</span><span class="s2">&#34;[^</span><span class="se">\u4e00</span><span class="s2">-</span><span class="se">\u9fa5</span><span class="s2">]&#34;</span><span class="p">)</span>
</span></span><span class="line"><span class="cl">    <span class="n">text</span> <span class="o">=</span> <span class="n">rule</span><span class="o">.</span><span class="n">sub</span><span class="p">(</span><span class="s1">&#39; &#39;</span><span class="p">,</span> <span class="n">text</span><span class="p">)</span>
</span></span><span class="line"><span class="cl">    <span class="k">return</span> <span class="n">text</span>
</span></span></code></pre></td></tr></table>
</div>
</div><p>为文章分词，并统计每个关键词的频率</p>
<div class="highlight"><div class="chroma">
<table class="lntable"><tr><td class="lntd">
<pre tabindex="0" class="chroma"><code><span class="lnt">1
</span><span class="lnt">2
</span><span class="lnt">3
</span><span class="lnt">4
</span><span class="lnt">5
</span></code></pre></td>
<td class="lntd">
<pre tabindex="0" class="chroma"><code class="language-python" data-lang="python"><span class="line"><span class="cl"><span class="k">def</span> <span class="nf">get_tag</span><span class="p">(</span><span class="n">text</span><span class="p">,</span> <span class="n">cnt</span><span class="p">):</span>
</span></span><span class="line"><span class="cl">    <span class="n">re_text</span> <span class="o">=</span> <span class="n">clean_text</span><span class="p">(</span><span class="n">text</span><span class="p">)</span>
</span></span><span class="line"><span class="cl">    <span class="n">tag_list</span> <span class="o">=</span> <span class="n">jieba</span><span class="o">.</span><span class="n">analyse</span><span class="o">.</span><span class="n">extract_tags</span><span class="p">(</span><span class="n">re_text</span><span class="p">)</span>
</span></span><span class="line"><span class="cl">    <span class="k">for</span> <span class="n">tag</span> <span class="ow">in</span> <span class="n">tag_list</span><span class="p">:</span>
</span></span><span class="line"><span class="cl">        <span class="n">cnt</span><span class="p">[</span><span class="n">tag</span><span class="p">]</span> <span class="o">+=</span> <span class="mi">1</span>
</span></span></code></pre></td></tr></table>
</div>
</div><div class="highlight"><div class="chroma">
<table class="lntable"><tr><td class="lntd">
<pre tabindex="0" class="chroma"><code><span class="lnt">1
</span><span class="lnt">2
</span></code></pre></td>
<td class="lntd">
<pre tabindex="0" class="chroma"><code class="language-python" data-lang="python"><span class="line"><span class="cl"><span class="c1"># 取出所有文章，放到一个列表里面</span>
</span></span><span class="line"><span class="cl"><span class="n">yjcps_all_post</span> <span class="o">=</span> <span class="p">[</span><span class="n">post</span><span class="p">[</span><span class="s1">&#39;body&#39;</span><span class="p">]</span> <span class="k">for</span> <span class="n">post</span> <span class="ow">in</span> <span class="n">yjcps</span><span class="p">[</span><span class="s1">&#39;posts&#39;</span><span class="p">]]</span>
</span></span></code></pre></td></tr></table>
</div>
</div><p><img loading="lazy" src="https://i.loli.net/2018/08/26/5b8251cb9ad9f.jpg" alt="blob.jpg"  />
</p>
<div class="highlight"><div class="chroma">
<table class="lntable"><tr><td class="lntd">
<pre tabindex="0" class="chroma"><code><span class="lnt">1
</span><span class="lnt">2
</span><span class="lnt">3
</span><span class="lnt">4
</span></code></pre></td>
<td class="lntd">
<pre tabindex="0" class="chroma"><code class="language-python" data-lang="python"><span class="line"><span class="cl"><span class="c1"># 获取词频</span>
</span></span><span class="line"><span class="cl"><span class="n">yjcps_post_counter</span> <span class="o">=</span> <span class="n">Counter</span><span class="p">()</span>
</span></span><span class="line"><span class="cl"><span class="k">for</span> <span class="n">post</span> <span class="ow">in</span> <span class="n">yjcps_all_post</span><span class="p">:</span>
</span></span><span class="line"><span class="cl">    <span class="n">get_tag</span><span class="p">(</span><span class="n">post</span><span class="p">,</span> <span class="n">yjcps_post_counter</span><span class="p">)</span>
</span></span></code></pre></td></tr></table>
</div>
</div><p><img loading="lazy" src="https://i.loli.net/2018/08/26/5b8252a46a0a8.jpg" alt="blob.jpg"  />
</p>
<div class="highlight"><div class="chroma">
<table class="lntable"><tr><td class="lntd">
<pre tabindex="0" class="chroma"><code><span class="lnt"> 1
</span><span class="lnt"> 2
</span><span class="lnt"> 3
</span><span class="lnt"> 4
</span><span class="lnt"> 5
</span><span class="lnt"> 6
</span><span class="lnt"> 7
</span><span class="lnt"> 8
</span><span class="lnt"> 9
</span><span class="lnt">10
</span><span class="lnt">11
</span><span class="lnt">12
</span><span class="lnt">13
</span><span class="lnt">14
</span><span class="lnt">15
</span><span class="lnt">16
</span><span class="lnt">17
</span><span class="lnt">18
</span><span class="lnt">19
</span><span class="lnt">20
</span></code></pre></td>
<td class="lntd">
<pre tabindex="0" class="chroma"><code class="language-python" data-lang="python"><span class="line"><span class="cl"><span class="c1"># 画词云图</span>
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl"><span class="c1"># 指定中文字体</span>
</span></span><span class="line"><span class="cl"><span class="n">font</span> <span class="o">=</span> <span class="s1">&#39;DroidSansFallbackFull.ttf&#39;</span>
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl"><span class="n">wc</span> <span class="o">=</span> <span class="n">WordCloud</span><span class="p">(</span>
</span></span><span class="line"><span class="cl">    <span class="n">font_path</span><span class="o">=</span><span class="n">font</span><span class="p">,</span>
</span></span><span class="line"><span class="cl">    <span class="n">background_color</span><span class="o">=</span><span class="s2">&#34;white&#34;</span><span class="p">,</span>
</span></span><span class="line"><span class="cl">    <span class="n">max_words</span><span class="o">=</span><span class="mi">2000</span><span class="p">,</span>
</span></span><span class="line"><span class="cl">    <span class="n">max_font_size</span><span class="o">=</span><span class="mi">100</span><span class="p">,</span>
</span></span><span class="line"><span class="cl">    <span class="n">width</span><span class="o">=</span><span class="mi">800</span><span class="p">,</span>
</span></span><span class="line"><span class="cl">    <span class="n">height</span><span class="o">=</span><span class="mi">800</span><span class="p">,</span>
</span></span><span class="line"><span class="cl"><span class="p">)</span>
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl"><span class="n">wc</span><span class="o">.</span><span class="n">generate_from_frequencies</span><span class="p">(</span><span class="n">yjcps_post_counter</span><span class="p">)</span>
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl"><span class="n">plt</span><span class="o">.</span><span class="n">figure</span><span class="p">(</span><span class="n">figsize</span><span class="o">=</span><span class="p">(</span><span class="mi">8</span><span class="p">,</span> <span class="mi">8</span><span class="p">))</span>
</span></span><span class="line"><span class="cl"><span class="n">plt</span><span class="o">.</span><span class="n">imshow</span><span class="p">(</span><span class="n">wc</span><span class="p">,</span> <span class="n">interpolation</span><span class="o">=</span><span class="s2">&#34;none&#34;</span><span class="p">)</span>
</span></span><span class="line"><span class="cl"><span class="n">plt</span><span class="o">.</span><span class="n">axis</span><span class="p">(</span><span class="s2">&#34;off&#34;</span><span class="p">)</span>
</span></span><span class="line"><span class="cl"><span class="n">plt</span><span class="o">.</span><span class="n">show</span><span class="p">()</span>
</span></span></code></pre></td></tr></table>
</div>
</div><p><img loading="lazy" src="https://ipfs.busy.org/ipfs/QmSnhL64GwH659dkCz33vtU7cJ4gTTxkUceMDmi9JEEcdm" alt="output_49_0.png"  />
</p>
<p>再来看看大鹏的文章关键词</p>
<div class="highlight"><div class="chroma">
<table class="lntable"><tr><td class="lntd">
<pre tabindex="0" class="chroma"><code><span class="lnt"> 1
</span><span class="lnt"> 2
</span><span class="lnt"> 3
</span><span class="lnt"> 4
</span><span class="lnt"> 5
</span><span class="lnt"> 6
</span><span class="lnt"> 7
</span><span class="lnt"> 8
</span><span class="lnt"> 9
</span><span class="lnt">10
</span><span class="lnt">11
</span><span class="lnt">12
</span><span class="lnt">13
</span><span class="lnt">14
</span><span class="lnt">15
</span><span class="lnt">16
</span><span class="lnt">17
</span><span class="lnt">18
</span><span class="lnt">19
</span><span class="lnt">20
</span><span class="lnt">21
</span><span class="lnt">22
</span><span class="lnt">23
</span><span class="lnt">24
</span><span class="lnt">25
</span><span class="lnt">26
</span></code></pre></td>
<td class="lntd">
<pre tabindex="0" class="chroma"><code class="language-python" data-lang="python"><span class="line"><span class="cl"><span class="n">dapeng_all_post</span> <span class="o">=</span> <span class="p">[</span><span class="n">post</span><span class="p">[</span><span class="s1">&#39;body&#39;</span><span class="p">]</span> <span class="k">for</span> <span class="n">post</span> <span class="ow">in</span> <span class="n">dapeng</span><span class="p">[</span><span class="s1">&#39;posts&#39;</span><span class="p">]]</span>
</span></span><span class="line"><span class="cl"><span class="c1"># 获取词频</span>
</span></span><span class="line"><span class="cl"><span class="n">dapeng_post_counter</span> <span class="o">=</span> <span class="n">Counter</span><span class="p">()</span>
</span></span><span class="line"><span class="cl"><span class="k">for</span> <span class="n">post</span> <span class="ow">in</span> <span class="n">dapeng_all_post</span><span class="p">:</span>
</span></span><span class="line"><span class="cl">    <span class="n">get_tag</span><span class="p">(</span><span class="n">post</span><span class="p">,</span> <span class="n">dapeng_post_counter</span><span class="p">)</span>
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl"><span class="c1"># 画词云图</span>
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl"><span class="c1"># 指定中文字体</span>
</span></span><span class="line"><span class="cl"><span class="n">font</span> <span class="o">=</span> <span class="s1">&#39;DroidSansFallbackFull.ttf&#39;</span>
</span></span><span class="line"><span class="cl"><span class="c1"># 指定背景图片</span>
</span></span><span class="line"><span class="cl"><span class="n">bg_image</span> <span class="o">=</span> <span class="n">np</span><span class="o">.</span><span class="n">array</span><span class="p">(</span><span class="n">Image</span><span class="o">.</span><span class="n">open</span><span class="p">(</span><span class="s2">&#34;steemit.png&#34;</span><span class="p">))</span>
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl"><span class="n">wc</span> <span class="o">=</span> <span class="n">WordCloud</span><span class="p">(</span>
</span></span><span class="line"><span class="cl">    <span class="n">font_path</span><span class="o">=</span><span class="n">font</span><span class="p">,</span>
</span></span><span class="line"><span class="cl">    <span class="n">background_color</span><span class="o">=</span><span class="s2">&#34;white&#34;</span><span class="p">,</span>
</span></span><span class="line"><span class="cl">    <span class="n">max_words</span><span class="o">=</span><span class="mi">2000</span><span class="p">,</span>
</span></span><span class="line"><span class="cl">    <span class="n">max_font_size</span><span class="o">=</span><span class="mi">100</span><span class="p">,</span>
</span></span><span class="line"><span class="cl">    <span class="n">mask</span><span class="o">=</span><span class="n">bg_image</span><span class="p">)</span>
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl"><span class="n">wc</span><span class="o">.</span><span class="n">generate_from_frequencies</span><span class="p">(</span><span class="n">dapeng_post_counter</span><span class="p">)</span>
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl"><span class="n">plt</span><span class="o">.</span><span class="n">figure</span><span class="p">(</span><span class="n">figsize</span><span class="o">=</span><span class="p">(</span><span class="mi">8</span><span class="p">,</span> <span class="mi">8</span><span class="p">))</span>
</span></span><span class="line"><span class="cl"><span class="n">plt</span><span class="o">.</span><span class="n">imshow</span><span class="p">(</span><span class="n">wc</span><span class="p">,</span> <span class="n">interpolation</span><span class="o">=</span><span class="s2">&#34;none&#34;</span><span class="p">)</span>
</span></span><span class="line"><span class="cl"><span class="n">plt</span><span class="o">.</span><span class="n">axis</span><span class="p">(</span><span class="s2">&#34;off&#34;</span><span class="p">)</span>
</span></span><span class="line"><span class="cl"><span class="n">plt</span><span class="o">.</span><span class="n">show</span><span class="p">()</span>
</span></span></code></pre></td></tr></table>
</div>
</div><p><img loading="lazy" src="https://ipfs.busy.org/ipfs/QmSBS9E34jn7FNWPmsVVf66mDwZA1atCsbc9nfG6wXjVuK" alt="output_51_0.png"  />
</p>
<p>同样的，再看看刘美女的关键词</p>
<div class="highlight"><div class="chroma">
<table class="lntable"><tr><td class="lntd">
<pre tabindex="0" class="chroma"><code><span class="lnt"> 1
</span><span class="lnt"> 2
</span><span class="lnt"> 3
</span><span class="lnt"> 4
</span><span class="lnt"> 5
</span><span class="lnt"> 6
</span><span class="lnt"> 7
</span><span class="lnt"> 8
</span><span class="lnt"> 9
</span><span class="lnt">10
</span><span class="lnt">11
</span><span class="lnt">12
</span><span class="lnt">13
</span><span class="lnt">14
</span><span class="lnt">15
</span><span class="lnt">16
</span><span class="lnt">17
</span><span class="lnt">18
</span><span class="lnt">19
</span><span class="lnt">20
</span><span class="lnt">21
</span><span class="lnt">22
</span><span class="lnt">23
</span><span class="lnt">24
</span><span class="lnt">25
</span><span class="lnt">26
</span><span class="lnt">27
</span><span class="lnt">28
</span></code></pre></td>
<td class="lntd">
<pre tabindex="0" class="chroma"><code class="language-python" data-lang="python"><span class="line"><span class="cl"><span class="n">deanliu_all_post</span> <span class="o">=</span> <span class="p">[</span><span class="n">post</span><span class="p">[</span><span class="s1">&#39;body&#39;</span><span class="p">]</span> <span class="k">for</span> <span class="n">post</span> <span class="ow">in</span> <span class="n">deanliu</span><span class="p">[</span><span class="s1">&#39;posts&#39;</span><span class="p">]]</span>
</span></span><span class="line"><span class="cl"><span class="c1"># 获取词频</span>
</span></span><span class="line"><span class="cl"><span class="n">deanliu_post_counter</span> <span class="o">=</span> <span class="n">Counter</span><span class="p">()</span>
</span></span><span class="line"><span class="cl"><span class="k">for</span> <span class="n">post</span> <span class="ow">in</span> <span class="n">deanliu_all_post</span><span class="p">:</span>
</span></span><span class="line"><span class="cl">    <span class="n">get_tag</span><span class="p">(</span><span class="n">post</span><span class="p">,</span> <span class="n">deanliu_post_counter</span><span class="p">)</span>
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl"><span class="c1"># 画词云图</span>
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl"><span class="c1"># 指定中文字体</span>
</span></span><span class="line"><span class="cl"><span class="n">font</span> <span class="o">=</span> <span class="s1">&#39;DroidSansFallbackFull.ttf&#39;</span>
</span></span><span class="line"><span class="cl"><span class="c1"># 指定背景图片</span>
</span></span><span class="line"><span class="cl"><span class="n">bg_image</span> <span class="o">=</span> <span class="n">np</span><span class="o">.</span><span class="n">array</span><span class="p">(</span><span class="n">Image</span><span class="o">.</span><span class="n">open</span><span class="p">(</span><span class="s2">&#34;steemit2.png&#34;</span><span class="p">))</span>
</span></span><span class="line"><span class="cl"><span class="c1"># 取图片的颜色作为绘制词云图片的颜色</span>
</span></span><span class="line"><span class="cl"><span class="n">image_colors</span> <span class="o">=</span> <span class="n">ImageColorGenerator</span><span class="p">(</span><span class="n">bg_image</span><span class="p">)</span>
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl"><span class="n">wc</span> <span class="o">=</span> <span class="n">WordCloud</span><span class="p">(</span>
</span></span><span class="line"><span class="cl">    <span class="n">font_path</span><span class="o">=</span><span class="n">font</span><span class="p">,</span>
</span></span><span class="line"><span class="cl">    <span class="n">background_color</span><span class="o">=</span><span class="s2">&#34;white&#34;</span><span class="p">,</span>
</span></span><span class="line"><span class="cl">    <span class="n">max_words</span><span class="o">=</span><span class="mi">2000</span><span class="p">,</span>
</span></span><span class="line"><span class="cl">    <span class="n">max_font_size</span><span class="o">=</span><span class="mi">20</span><span class="p">,</span>
</span></span><span class="line"><span class="cl">    <span class="n">mask</span><span class="o">=</span><span class="n">bg_image</span><span class="p">)</span>
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl"><span class="n">wc</span><span class="o">.</span><span class="n">generate_from_frequencies</span><span class="p">(</span><span class="n">deanliu_post_counter</span><span class="p">)</span>
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl"><span class="n">plt</span><span class="o">.</span><span class="n">figure</span><span class="p">(</span><span class="n">figsize</span><span class="o">=</span><span class="p">(</span><span class="mi">8</span><span class="p">,</span> <span class="mi">8</span><span class="p">))</span>
</span></span><span class="line"><span class="cl"><span class="n">plt</span><span class="o">.</span><span class="n">imshow</span><span class="p">(</span><span class="n">wc</span><span class="o">.</span><span class="n">recolor</span><span class="p">(</span><span class="n">color_func</span><span class="o">=</span><span class="n">image_colors</span><span class="p">),</span> <span class="n">interpolation</span><span class="o">=</span><span class="s2">&#34;none&#34;</span><span class="p">)</span>
</span></span><span class="line"><span class="cl"><span class="n">plt</span><span class="o">.</span><span class="n">axis</span><span class="p">(</span><span class="s2">&#34;off&#34;</span><span class="p">)</span>
</span></span><span class="line"><span class="cl"><span class="n">plt</span><span class="o">.</span><span class="n">show</span><span class="p">()</span>
</span></span></code></pre></td></tr></table>
</div>
</div><p><img loading="lazy" src="https://ipfs.busy.org/ipfs/QmXPLkMGXEEyud9C5qEkz7aphGH1gYX6dukfEa77HXpRvq" alt="output_53_0.png"  />
</p>
<h3 id="绘制发帖时间图">绘制发帖时间图</h3>
<p>导入Python包</p>
<div class="highlight"><div class="chroma">
<table class="lntable"><tr><td class="lntd">
<pre tabindex="0" class="chroma"><code><span class="lnt">1
</span><span class="lnt">2
</span><span class="lnt">3
</span></code></pre></td>
<td class="lntd">
<pre tabindex="0" class="chroma"><code class="language-python" data-lang="python"><span class="line"><span class="cl"><span class="kn">from</span> <span class="nn">windrose</span> <span class="kn">import</span> <span class="n">WindroseAxes</span>
</span></span><span class="line"><span class="cl"><span class="kn">import</span> <span class="nn">numpy</span> <span class="k">as</span> <span class="nn">np</span>
</span></span><span class="line"><span class="cl"><span class="kn">from</span> <span class="nn">matplotlib</span> <span class="kn">import</span> <span class="n">pyplot</span> <span class="k">as</span> <span class="n">plt</span>
</span></span></code></pre></td></tr></table>
</div>
</div><div class="highlight"><div class="chroma">
<table class="lntable"><tr><td class="lntd">
<pre tabindex="0" class="chroma"><code><span class="lnt">1
</span><span class="lnt">2
</span><span class="lnt">3
</span><span class="lnt">4
</span><span class="lnt">5
</span><span class="lnt">6
</span><span class="lnt">7
</span><span class="lnt">8
</span></code></pre></td>
<td class="lntd">
<pre tabindex="0" class="chroma"><code class="language-python" data-lang="python"><span class="line"><span class="cl"><span class="c1"># 获取发帖时间,返回小时，获取的时间已处理为北京时间</span>
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl"><span class="k">def</span> <span class="nf">get_post_time</span><span class="p">(</span><span class="n">account</span><span class="p">:</span><span class="nb">dict</span><span class="p">,</span> <span class="n">_type</span><span class="p">:</span><span class="nb">str</span><span class="o">=</span><span class="s1">&#39;created&#39;</span><span class="p">)</span><span class="o">-&gt;</span><span class="nb">list</span><span class="p">:</span>
</span></span><span class="line"><span class="cl">    <span class="n">posts</span> <span class="o">=</span> <span class="n">account</span><span class="p">[</span><span class="s1">&#39;posts&#39;</span><span class="p">]</span>
</span></span><span class="line"><span class="cl">    <span class="n">time_format</span> <span class="o">=</span> <span class="s1">&#39;%Y-%m-</span><span class="si">%d</span><span class="s1"> %H:%M:%S&#39;</span>
</span></span><span class="line"><span class="cl">    <span class="n">posts_time</span> <span class="o">=</span> <span class="p">[</span><span class="n">datetime</span><span class="o">.</span><span class="n">strptime</span><span class="p">(</span><span class="n">post</span><span class="p">[</span><span class="n">_type</span><span class="p">],</span> <span class="n">time_format</span><span class="p">)</span>  <span class="k">for</span> <span class="n">post</span> <span class="ow">in</span> <span class="n">posts</span><span class="p">]</span>
</span></span><span class="line"><span class="cl">    <span class="n">hours</span> <span class="o">=</span> <span class="p">[</span><span class="n">time</span><span class="o">.</span><span class="n">hour</span> <span class="k">for</span> <span class="n">time</span> <span class="ow">in</span> <span class="n">posts_time</span><span class="p">]</span>
</span></span><span class="line"><span class="cl">    <span class="k">return</span> <span class="n">hours</span>
</span></span></code></pre></td></tr></table>
</div>
</div><div class="highlight"><div class="chroma">
<table class="lntable"><tr><td class="lntd">
<pre tabindex="0" class="chroma"><code><span class="lnt">1
</span><span class="lnt">2
</span><span class="lnt">3
</span></code></pre></td>
<td class="lntd">
<pre tabindex="0" class="chroma"><code class="language-python" data-lang="python"><span class="line"><span class="cl"><span class="n">yjcps_post_time</span> <span class="o">=</span> <span class="n">get_post_time</span><span class="p">(</span><span class="n">yjcps</span><span class="p">)</span>
</span></span><span class="line"><span class="cl"><span class="n">dapeng_post_time</span> <span class="o">=</span> <span class="n">get_post_time</span><span class="p">(</span><span class="n">dapeng</span><span class="p">)</span>
</span></span><span class="line"><span class="cl"><span class="n">deanliu_post_time</span> <span class="o">=</span> <span class="n">get_post_time</span><span class="p">(</span><span class="n">deanliu</span><span class="p">)</span>
</span></span></code></pre></td></tr></table>
</div>
</div><div class="highlight"><div class="chroma">
<table class="lntable"><tr><td class="lntd">
<pre tabindex="0" class="chroma"><code><span class="lnt">1
</span><span class="lnt">2
</span></code></pre></td>
<td class="lntd">
<pre tabindex="0" class="chroma"><code class="language-python" data-lang="python"><span class="line"><span class="cl"><span class="c1"># 我所有的发帖时间</span>
</span></span><span class="line"><span class="cl"><span class="nb">print</span><span class="p">(</span><span class="n">yjcps_post_time</span><span class="p">)</span>
</span></span></code></pre></td></tr></table>
</div>
</div><p>[15, 6, 7, 6, 6, 6, 14, 7, 22, 7, 10, 0, 12, 20, 20, 19, 13, 0, 21, 18, 11, 11, 12, 1, 18, 15, 13, 12, 14, 11, 0, 0, 23, 18, 21, 15]</p>
<p>绘制我的发帖时间图</p>
<div class="highlight"><div class="chroma">
<table class="lntable"><tr><td class="lntd">
<pre tabindex="0" class="chroma"><code><span class="lnt"> 1
</span><span class="lnt"> 2
</span><span class="lnt"> 3
</span><span class="lnt"> 4
</span><span class="lnt"> 5
</span><span class="lnt"> 6
</span><span class="lnt"> 7
</span><span class="lnt"> 8
</span><span class="lnt"> 9
</span><span class="lnt">10
</span><span class="lnt">11
</span><span class="lnt">12
</span><span class="lnt">13
</span><span class="lnt">14
</span><span class="lnt">15
</span><span class="lnt">16
</span><span class="lnt">17
</span><span class="lnt">18
</span><span class="lnt">19
</span><span class="lnt">20
</span><span class="lnt">21
</span><span class="lnt">22
</span><span class="lnt">23
</span><span class="lnt">24
</span><span class="lnt">25
</span><span class="lnt">26
</span><span class="lnt">27
</span><span class="lnt">28
</span><span class="lnt">29
</span><span class="lnt">30
</span><span class="lnt">31
</span><span class="lnt">32
</span></code></pre></td>
<td class="lntd">
<pre tabindex="0" class="chroma"><code class="language-python" data-lang="python"><span class="line"><span class="cl"><span class="k">def</span> <span class="nf">make_time_image</span><span class="p">(</span><span class="n">time</span><span class="p">,</span> <span class="n">colors</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span> <span class="n">edgecolor</span><span class="o">=</span><span class="s1">&#39;white&#39;</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">):</span>
</span></span><span class="line"><span class="cl">    <span class="n">ws</span> <span class="o">=</span> <span class="n">np</span><span class="o">.</span><span class="n">array</span><span class="p">(</span><span class="n">time</span><span class="p">)</span>
</span></span><span class="line"><span class="cl">    <span class="n">wd</span> <span class="o">=</span> <span class="n">np</span><span class="o">.</span><span class="n">array</span><span class="p">(</span><span class="n">time</span><span class="p">)</span> <span class="o">/</span> <span class="mi">24</span> <span class="o">*</span> <span class="mi">360</span>
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl">    <span class="c1"># 统计各时间次数</span>
</span></span><span class="line"><span class="cl">    <span class="n">count</span><span class="p">,</span> <span class="n">_</span> <span class="o">=</span> <span class="n">np</span><span class="o">.</span><span class="n">histogram</span><span class="p">(</span><span class="n">time</span><span class="p">,</span> <span class="n">bins</span><span class="o">=</span><span class="mi">24</span><span class="p">)</span>
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl">    <span class="k">if</span> <span class="n">colors</span><span class="p">:</span>
</span></span><span class="line"><span class="cl">        <span class="k">pass</span>
</span></span><span class="line"><span class="cl">    <span class="k">else</span><span class="p">:</span>
</span></span><span class="line"><span class="cl">        <span class="n">colors</span> <span class="o">=</span> <span class="p">[(</span><span class="mi">94</span><span class="o">/</span><span class="mi">255</span><span class="p">,</span> <span class="mi">79</span><span class="o">/</span><span class="mi">255</span><span class="p">,</span> <span class="mi">162</span><span class="o">/</span><span class="mi">255</span><span class="p">)]</span>
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl">    <span class="c1"># 画图</span>
</span></span><span class="line"><span class="cl">    <span class="n">ax</span> <span class="o">=</span> <span class="n">WindroseAxes</span><span class="o">.</span><span class="n">from_ax</span><span class="p">()</span>
</span></span><span class="line"><span class="cl">    <span class="n">ax</span><span class="o">.</span><span class="n">bar</span><span class="p">(</span><span class="n">wd</span><span class="p">,</span> <span class="n">ws</span><span class="p">,</span> <span class="n">nsector</span><span class="o">=</span><span class="mi">24</span><span class="p">,</span> <span class="n">normed</span><span class="o">=</span><span class="kc">True</span><span class="p">,</span> <span class="n">colors</span><span class="o">=</span><span class="n">colors</span><span class="p">,</span>
</span></span><span class="line"><span class="cl">           <span class="n">bins</span><span class="o">=</span><span class="mi">1</span><span class="p">,</span> <span class="n">edgecolor</span><span class="o">=</span><span class="n">edgecolor</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">)</span>
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl">    <span class="n">xticklabels</span> <span class="o">=</span> <span class="p">[</span><span class="s1">&#39;6:00&#39;</span><span class="p">,</span> <span class="s1">&#39;3:00&#39;</span><span class="p">,</span> <span class="s1">&#39;0:00&#39;</span><span class="p">,</span>
</span></span><span class="line"><span class="cl">                   <span class="s1">&#39;21:00&#39;</span><span class="p">,</span> <span class="s1">&#39;18:00&#39;</span><span class="p">,</span> <span class="s1">&#39;15:00&#39;</span><span class="p">,</span> <span class="s1">&#39;12:00&#39;</span><span class="p">,</span> <span class="s1">&#39;9:00&#39;</span><span class="p">]</span>
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl">    <span class="c1"># 获取最大极径</span>
</span></span><span class="line"><span class="cl">    <span class="n">rmax</span> <span class="o">=</span> <span class="n">ax</span><span class="o">.</span><span class="n">get_rmax</span><span class="p">()</span>
</span></span><span class="line"><span class="cl">    <span class="n">fmt</span> <span class="o">=</span> <span class="s2">&#34;</span><span class="si">%.1f</span><span class="s2"> &#34;</span>
</span></span><span class="line"><span class="cl">    <span class="n">yticklabels</span> <span class="o">=</span> <span class="n">np</span><span class="o">.</span><span class="n">linspace</span><span class="p">(</span><span class="mi">0</span><span class="p">,</span> <span class="n">rmax</span><span class="p">,</span> <span class="mi">6</span><span class="p">)</span> <span class="o">/</span> <span class="n">rmax</span> <span class="o">*</span> <span class="nb">max</span><span class="p">(</span><span class="n">count</span><span class="p">)</span>
</span></span><span class="line"><span class="cl">    <span class="n">yticklabels</span> <span class="o">=</span> <span class="p">[</span><span class="n">fmt</span> <span class="o">%</span> <span class="n">r</span> <span class="k">for</span> <span class="n">r</span> <span class="ow">in</span> <span class="n">yticklabels</span><span class="p">[</span><span class="mi">1</span><span class="p">:]]</span>
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl">    <span class="c1"># 设置标签</span>
</span></span><span class="line"><span class="cl">    <span class="n">ax</span><span class="o">.</span><span class="n">set_yticklabels</span><span class="p">(</span><span class="n">yticklabels</span><span class="p">)</span>
</span></span><span class="line"><span class="cl">    <span class="n">ax</span><span class="o">.</span><span class="n">set_xticklabels</span><span class="p">(</span><span class="n">xticklabels</span><span class="p">)</span>
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl">    <span class="c1"># 显示</span>
</span></span><span class="line"><span class="cl">    <span class="n">plt</span><span class="o">.</span><span class="n">show</span><span class="p">()</span>
</span></span></code></pre></td></tr></table>
</div>
</div><div class="highlight"><div class="chroma">
<table class="lntable"><tr><td class="lntd">
<pre tabindex="0" class="chroma"><code><span class="lnt">1
</span></code></pre></td>
<td class="lntd">
<pre tabindex="0" class="chroma"><code class="language-python" data-lang="python"><span class="line"><span class="cl"><span class="n">make_time_image</span><span class="p">(</span><span class="n">yjcps_post_time</span><span class="p">)</span>
</span></span></code></pre></td></tr></table>
</div>
</div><p><img loading="lazy" src="https://ipfs.busy.org/ipfs/QmfG7R5vdHpxTCeht6ZPRonG7hFwSVeLj1DhTPUjkz1ds2" alt="image.png"  />
</p>
<p>绘制大鹏的发帖时间图</p>
<div class="highlight"><div class="chroma">
<table class="lntable"><tr><td class="lntd">
<pre tabindex="0" class="chroma"><code><span class="lnt">1
</span></code></pre></td>
<td class="lntd">
<pre tabindex="0" class="chroma"><code class="language-python" data-lang="python"><span class="line"><span class="cl"><span class="n">make_time_image</span><span class="p">(</span><span class="n">dapeng_post_time</span><span class="p">)</span>
</span></span></code></pre></td></tr></table>
</div>
</div><p><img loading="lazy" src="https://ipfs.busy.org/ipfs/QmdhpUktvTV294FJwR4RhgTy1WPFzPp7PSAh9zEUBdDbvv" alt="image.png"  />
</p>
<p>最后绘制刘美女的发帖时间图</p>
<div class="highlight"><div class="chroma">
<table class="lntable"><tr><td class="lntd">
<pre tabindex="0" class="chroma"><code><span class="lnt">1
</span></code></pre></td>
<td class="lntd">
<pre tabindex="0" class="chroma"><code class="language-python" data-lang="python"><span class="line"><span class="cl"><span class="n">make_time_image</span><span class="p">(</span><span class="n">deanliu_post_time</span><span class="p">)</span>
</span></span></code></pre></td></tr></table>
</div>
</div><p><img loading="lazy" src="https://ipfs.busy.org/ipfs/QmWF8uqYyd1Y1uzBWqm49zuXgu1Y7sDrWhxt8xL38CKt11" alt="image.png"  />
</p>
<p>看到词云图和发帖时间图，大家是否想起了大鹏举办的 “猜猜 TA 是谁” 活动？</p>
<p>猴年马月终于到了， @dapeng @angelina6688 山寨版的用Python画这两个图的方法就在这里了。</p>
<p>期待下个猴年马月， @dapeng 写个正宗的用R画词云图和发帖时间图。</p>
<hr>
<h2 id="da-series---learn-python-with-steem">[DA series - Learn Python with Steem]</h2>
<ul>
<li><a href="https://busy.org/@deanliu/da-series-learn-python-with-steem-01-python">[DA series - Learn Python with Steem #01] 安裝Python、文字編輯器與哈囉！</a></li>
<li><a href="https://busy.org/@deanliu/da-series-learn-python-with-steem-02">[DA series - Learn Python with Steem #02] 變數與資料型態</a></li>
<li><a href="https://busy.org/@deanliu/da-series-learn-python-with-steem-03">[DA series - Learn Python with Steem #03] 邏輯判斷</a></li>
<li><a href="https://busy.org/@deanliu/da-series-learn-python-with-steem-04">[DA series - Learn Python with Steem #04] 迴圈</a></li>
<li><a href="https://busy.org/@yjcps/learnpythonwithsteem05-n09ajzsh91">[DA series – Learn Python with Steem #05] 基本資料結構</a></li>
<li><a href="https://busy.org/@deanliu/da-series-learn-python-with-steem-06">[DA series - Learn Python with Steem #06] 函式</a></li>
<li><a href="https://busy.org/@deanliu/da-series-learn-python-with-steem-07">[DA series - Learn Python with Steem #07] 類別</a></li>
<li><a href="https://busy.org/@deanliu/da-series-learn-python-with-steem-08-modules-steem">[DA series - Learn Python with Steem #08] 函式庫(Modules)的安裝與使用，準備好玩Steem！</a></li>
<li><a href="https://busy.org/@deanliu/da-series-learn-python-with-steem-09-steem-diy-1-steem">[DA series - Learn Python with Steem #09] Steem 小工具DIY #1 - 我的Steem小偵探</a></li>
<li><a href="https://busy.org/@deanliu/da-series-learn-python-with-steem-10-steem-diy-2">[DA series - Learn Python with Steem #10] Steem 小工具DIY #2 - 我的文章列表（一）</a></li>
<li><a href="https://busy.org/@deanliu/da-series-learn-python-with-steem-11-steem-diy-3">[DA series - Learn Python with Steem #11] Steem 小工具DIY #3 - 我的文章列表（二）</a></li>
</ul>
<h2 id="我的笔记">我的笔记：</h2>
<ul>
<li><a href="https://busy.org/@yjcps/learn-python-with-steem-01">Learn Python with Steem #01 笔记</a></li>
<li><a href="https://busy.org/@yjcps/learnpythonwithsteem02-2ilwe1ti59">Learn Python with Steem #02 笔记</a></li>
<li><a href="https://busy.org/@yjcps/learnpythonwithsteem03-l5w15fszh9">Learn Python with Steem #03 笔记</a></li>
<li><a href="https://busy.org/@yjcps/learnpythonwithsteem04-0d8jly8ypt">Learn Python with Steem #04 笔记</a></li>
<li><a href="https://busy.org/@yjcps/learnpythonwithsteem05-n09ajzsh91">Learn Python with Steem #05 笔记</a></li>
<li><a href="https://busy.org/@yjcps/learnpythonwithsteem06-c0tgbg3puu">Learn Python with Steem #06 笔记</a></li>
<li><a href="https://busy.org/@yjcps/learnpythonwithsteem07-2tx2pvwskh">Learn Python with Steem #07 笔记</a></li>
<li><a href="https://busy.org/@yjcps/learnpythonwithsteem08-5w4cklx91x">Learn Python with Steem #08 笔记</a></li>
<li><a href="https://busy.org/@yjcps/learnpythonwithsteem09-z0dpwgv61i">Learn Python with Steem #09 笔记</a></li>
</ul>
]]></content:encoded>
    </item>
    <item>
      <title>家里的黑美人</title>
      <link>https://hacperme.com/posts/life/2018-08-15-watermelon_home/</link>
      <pubDate>Wed, 15 Aug 2018 06:00:08 +0800</pubDate>
      <guid>https://hacperme.com/posts/life/2018-08-15-watermelon_home/</guid>
      <description>家里每年都会种点自己吃的西瓜，最近这几年种的品种都是“黑美人”，西瓜不大，但比以前种的花皮瓜甜，而且不空心。 我在家的时候，地里还是种下不久的</description>
      <content:encoded><![CDATA[<p><img loading="lazy" src="https://ipfs.busy.org/ipfs/QmZZdmstygtZH2pwGnp38oykvvGj9tFbzADTfazn7mKdT9" alt="1533294258814.jpg"  />
</p>
<p>家里每年都会种点自己吃的西瓜，最近这几年种的品种都是“黑美人”，西瓜不大，但比以前种的花皮瓜甜，而且不空心。</p>
<p>我在家的时候，地里还是种下不久的西瓜苗，还抱怨着时常有老鼠咬断西瓜幼苗。没想到老鼠竟然爱这口嫩的。</p>
<p>现在，家里说西瓜都没几个喽，等我回去，怕是见不到这些黑美人了。</p>
]]></content:encoded>
    </item>
    <item>
      <title>在Windows导入python-steem遇到的问题</title>
      <link>https://hacperme.com/posts/notes/2018-08-11-windows_import_python-steem_problem/</link>
      <pubDate>Sat, 11 Aug 2018 14:00:53 +0800</pubDate>
      <guid>https://hacperme.com/posts/notes/2018-08-11-windows_import_python-steem_problem/</guid>
      <description>我以为成功安装python-steem库就可以愉快地玩耍了，这个想法还是太单纯，谁知道在导入steem模块的时候又出现问题了：无法导入win</description>
      <content:encoded><![CDATA[<p>我以为成功安装python-steem库就可以愉快地玩耍了，这个想法还是太单纯，谁知道在导入steem模块的时候又出现问题了：无法导入winrandom模块。</p>
<div class="highlight"><div class="chroma">
<table class="lntable"><tr><td class="lntd">
<pre tabindex="0" class="chroma"><code><span class="lnt">1
</span><span class="lnt">2
</span><span class="lnt">3
</span><span class="lnt">4
</span></code></pre></td>
<td class="lntd">
<pre tabindex="0" class="chroma"><code class="language-python" data-lang="python"><span class="line"><span class="cl"><span class="kn">from</span> <span class="nn">steem</span> <span class="kn">import</span> <span class="n">Steem</span>
</span></span><span class="line"><span class="cl"><span class="n">s</span> <span class="o">=</span> <span class="n">Steem</span><span class="p">()</span>
</span></span><span class="line"><span class="cl"><span class="n">balance</span> <span class="o">=</span> <span class="n">s</span><span class="o">.</span><span class="n">get_account</span><span class="p">(</span><span class="s1">&#39;yjcps&#39;</span><span class="p">)[</span><span class="s1">&#39;sbd_balance&#39;</span><span class="p">]</span>
</span></span><span class="line"><span class="cl"><span class="nb">print</span><span class="p">(</span><span class="n">balance</span><span class="p">)</span>
</span></span></code></pre></td></tr></table>
</div>
</div><div class="highlight"><div class="chroma">
<table class="lntable"><tr><td class="lntd">
<pre tabindex="0" class="chroma"><code><span class="lnt">1
</span><span class="lnt">2
</span><span class="lnt">3
</span><span class="lnt">4
</span><span class="lnt">5
</span><span class="lnt">6
</span><span class="lnt">7
</span><span class="lnt">8
</span></code></pre></td>
<td class="lntd">
<pre tabindex="0" class="chroma"><code class="language-fallback" data-lang="fallback"><span class="line"><span class="cl">i:\python364\lib\site-packages\Crypto\Random\OSRNG\nt.py in &lt;module&gt;()
</span></span><span class="line"><span class="cl">     26 __all__ = [&#39;WindowsRNG&#39;]
</span></span><span class="line"><span class="cl">     27 
</span></span><span class="line"><span class="cl">---&gt; 28 import winrandom
</span></span><span class="line"><span class="cl">     29 from .rng_base import BaseRNG
</span></span><span class="line"><span class="cl">     30 
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl">ModuleNotFoundError: No module named &#39;winrandom&#39;
</span></span></code></pre></td></tr></table>
</div>
</div><p>很自然地想到winrandom这个模块是不是没安装啊？拿出pip安装winrandom试试。</p>
<blockquote>
<p>python -m pip install winrandom</p>
</blockquote>
<p>在编译winrandom时又有新问题：ValueError: Unknown MS Compiler version 1900</p>
<div class="highlight"><div class="chroma">
<table class="lntable"><tr><td class="lntd">
<pre tabindex="0" class="chroma"><code><span class="lnt"> 1
</span><span class="lnt"> 2
</span><span class="lnt"> 3
</span><span class="lnt"> 4
</span><span class="lnt"> 5
</span><span class="lnt"> 6
</span><span class="lnt"> 7
</span><span class="lnt"> 8
</span><span class="lnt"> 9
</span><span class="lnt">10
</span><span class="lnt">11
</span><span class="lnt">12
</span><span class="lnt">13
</span><span class="lnt">14
</span><span class="lnt">15
</span><span class="lnt">16
</span><span class="lnt">17
</span><span class="lnt">18
</span><span class="lnt">19
</span><span class="lnt">20
</span><span class="lnt">21
</span></code></pre></td>
<td class="lntd">
<pre tabindex="0" class="chroma"><code class="language-gdscript3" data-lang="gdscript3"><span class="line"><span class="cl"> <span class="o">----------------------------------------</span>
</span></span><span class="line"><span class="cl">  <span class="n">Failed</span> <span class="n">building</span> <span class="n">wheel</span> <span class="k">for</span> <span class="n">winrandom</span>
</span></span><span class="line"><span class="cl">  <span class="n">Running</span> <span class="n">setup</span><span class="o">.</span><span class="n">py</span> <span class="n">clean</span> <span class="k">for</span> <span class="n">winrandom</span>
</span></span><span class="line"><span class="cl"><span class="n">Failed</span> <span class="n">to</span> <span class="n">build</span> <span class="n">winrandom</span>
</span></span><span class="line"><span class="cl"><span class="n">Installing</span> <span class="n">collected</span> <span class="n">packages</span><span class="p">:</span> <span class="n">winrandom</span>
</span></span><span class="line"><span class="cl">  <span class="n">Running</span> <span class="n">setup</span><span class="o">.</span><span class="n">py</span> <span class="n">install</span> <span class="k">for</span> <span class="n">winrandom</span> <span class="o">...</span> <span class="n">error</span>
</span></span><span class="line"><span class="cl">    <span class="n">Complete</span> <span class="n">output</span> <span class="n">from</span> <span class="n">command</span> <span class="n">I</span><span class="p">:</span>\<span class="n">PYTHON</span><span class="o">~</span><span class="mi">1</span>\<span class="n">python</span><span class="o">.</span><span class="n">exe</span> <span class="o">-</span><span class="n">u</span> <span class="o">-</span><span class="n">c</span> <span class="s2">&#34;import setuptools, tokenize;__file__=&#39;K:</span><span class="se">\\</span><span class="s2">temp</span><span class="se">\\</span><span class="s2">pip-install-f7pz4ekx</span><span class="se">\\</span><span class="s2">winrandom</span><span class="se">\\</span><span class="s2">setup.py&#39;;f=getattr(tokenize, &#39;open&#39;, open)(__file__);code=f.read().replace(&#39;</span><span class="se">\r\n</span><span class="s2">&#39;, &#39;</span><span class="se">\n</span><span class="s2">&#39;);f.close();exec(compile(code, __file__, &#39;exec&#39;))&#34;</span> <span class="n">install</span> <span class="o">--</span><span class="n">record</span> <span class="n">K</span><span class="p">:</span>\<span class="n">temp</span>\<span class="n">pip</span><span class="o">-</span><span class="n">record</span><span class="o">-</span><span class="n">xtfsjesk</span>\<span class="n">install</span><span class="o">-</span><span class="n">record</span><span class="o">.</span><span class="n">txt</span> <span class="o">--</span><span class="n">single</span><span class="o">-</span><span class="n">version</span><span class="o">-</span><span class="n">externally</span><span class="o">-</span><span class="n">managed</span> <span class="o">--</span><span class="n">compile</span><span class="p">:</span>
</span></span><span class="line"><span class="cl">    <span class="n">running</span> <span class="n">install</span>
</span></span><span class="line"><span class="cl">    <span class="n">running</span> <span class="n">build</span>
</span></span><span class="line"><span class="cl">    <span class="n">running</span> <span class="n">build_ext</span>
</span></span><span class="line"><span class="cl">    <span class="n">Traceback</span> <span class="p">(</span><span class="n">most</span> <span class="n">recent</span> <span class="n">call</span> <span class="n">last</span><span class="p">):</span>
</span></span><span class="line"><span class="cl">      <span class="ne">File</span> <span class="s2">&#34;&lt;string&gt;&#34;</span><span class="p">,</span> <span class="n">line</span> <span class="mi">1</span><span class="p">,</span> <span class="ow">in</span> <span class="o">&lt;</span><span class="n">module</span><span class="o">&gt;</span>
</span></span><span class="line"><span class="cl">      <span class="ne">File</span> <span class="s2">&#34;K:</span><span class="se">\t</span><span class="s2">emp\pip-install-f7pz4ekx\winrandom\setup.py&#34;</span><span class="p">,</span> <span class="n">line</span> <span class="mi">43</span><span class="p">,</span> <span class="ow">in</span> <span class="o">&lt;</span><span class="n">module</span><span class="o">&gt;</span>
</span></span><span class="line"><span class="cl">        <span class="n">ext_modules</span><span class="o">=</span><span class="p">[</span><span class="n">winrandom1</span><span class="p">])</span>
</span></span><span class="line"><span class="cl">     <span class="o">...</span>
</span></span><span class="line"><span class="cl">        <span class="bp">self</span><span class="o">.</span><span class="n">dll_libraries</span> <span class="o">=</span> <span class="n">get_msvcr</span><span class="p">()</span>
</span></span><span class="line"><span class="cl">      <span class="ne">File</span> <span class="s2">&#34;I:\PYTHON~1\lib\distutils\cygwinccompiler.py&#34;</span><span class="p">,</span> <span class="n">line</span> <span class="mi">95</span><span class="p">,</span> <span class="ow">in</span> <span class="n">get_msvcr</span>
</span></span><span class="line"><span class="cl">        <span class="n">raise</span> <span class="n">ValueError</span><span class="p">(</span><span class="s2">&#34;Unknown MS Compiler version </span><span class="si">%s</span><span class="s2"> &#34;</span> <span class="o">%</span> <span class="n">msc_ver</span><span class="p">)</span>
</span></span><span class="line"><span class="cl">    <span class="n">ValueError</span><span class="p">:</span> <span class="n">Unknown</span> <span class="n">MS</span> <span class="n">Compiler</span> <span class="n">version</span> <span class="mi">1900</span>
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl">    <span class="o">----------------------------------------</span>
</span></span></code></pre></td></tr></table>
</div>
</div><p>网上查到解决办法，修改I:\PYTHON~1\lib\distutils\cygwinccompiler.py文件，打补丁。</p>
<div class="highlight"><div class="chroma">
<table class="lntable"><tr><td class="lntd">
<pre tabindex="0" class="chroma"><code><span class="lnt"> 1
</span><span class="lnt"> 2
</span><span class="lnt"> 3
</span><span class="lnt"> 4
</span><span class="lnt"> 5
</span><span class="lnt"> 6
</span><span class="lnt"> 7
</span><span class="lnt"> 8
</span><span class="lnt"> 9
</span><span class="lnt">10
</span><span class="lnt">11
</span><span class="lnt">12
</span><span class="lnt">13
</span><span class="lnt">14
</span><span class="lnt">15
</span><span class="lnt">16
</span><span class="lnt">17
</span><span class="lnt">18
</span><span class="lnt">19
</span><span class="lnt">20
</span><span class="lnt">21
</span><span class="lnt">22
</span><span class="lnt">23
</span><span class="lnt">24
</span><span class="lnt">25
</span></code></pre></td>
<td class="lntd">
<pre tabindex="0" class="chroma"><code class="language-python" data-lang="python"><span class="line"><span class="cl"><span class="k">def</span> <span class="nf">get_msvcr</span><span class="p">():</span>
</span></span><span class="line"><span class="cl">    <span class="s2">&#34;&#34;&#34;Include the appropriate MSVC runtime library if Python was built
</span></span></span><span class="line"><span class="cl"><span class="s2">    with MSVC 7.0 or later.
</span></span></span><span class="line"><span class="cl"><span class="s2">    &#34;&#34;&#34;</span>
</span></span><span class="line"><span class="cl">    <span class="n">msc_pos</span> <span class="o">=</span> <span class="n">sys</span><span class="o">.</span><span class="n">version</span><span class="o">.</span><span class="n">find</span><span class="p">(</span><span class="s1">&#39;MSC v.&#39;</span><span class="p">)</span>
</span></span><span class="line"><span class="cl">    <span class="k">if</span> <span class="n">msc_pos</span> <span class="o">!=</span> <span class="o">-</span><span class="mi">1</span><span class="p">:</span>
</span></span><span class="line"><span class="cl">        <span class="n">msc_ver</span> <span class="o">=</span> <span class="n">sys</span><span class="o">.</span><span class="n">version</span><span class="p">[</span><span class="n">msc_pos</span><span class="o">+</span><span class="mi">6</span><span class="p">:</span><span class="n">msc_pos</span><span class="o">+</span><span class="mi">10</span><span class="p">]</span>
</span></span><span class="line"><span class="cl">        <span class="k">if</span> <span class="n">msc_ver</span> <span class="o">==</span> <span class="s1">&#39;1300&#39;</span><span class="p">:</span>
</span></span><span class="line"><span class="cl">            <span class="c1"># MSVC 7.0</span>
</span></span><span class="line"><span class="cl">            <span class="k">return</span> <span class="p">[</span><span class="s1">&#39;msvcr70&#39;</span><span class="p">]</span>
</span></span><span class="line"><span class="cl">        <span class="o">...</span>
</span></span><span class="line"><span class="cl">        <span class="k">elif</span> <span class="n">msc_ver</span> <span class="o">==</span> <span class="s1">&#39;1600&#39;</span><span class="p">:</span>
</span></span><span class="line"><span class="cl">            <span class="c1"># VS2010 / MSVC 10.0</span>
</span></span><span class="line"><span class="cl">            <span class="k">return</span> <span class="p">[</span><span class="s1">&#39;msvcr100&#39;</span><span class="p">]</span>
</span></span><span class="line"><span class="cl">         <span class="c1">### PATCH###############################</span>
</span></span><span class="line"><span class="cl">        <span class="c1"># INCLUDES NEWEST mscvcr VERSION</span>
</span></span><span class="line"><span class="cl">        <span class="c1">#########################################</span>
</span></span><span class="line"><span class="cl">        <span class="k">elif</span> <span class="n">msc_ver</span> <span class="o">==</span> <span class="s1">&#39;1900&#39;</span><span class="p">:</span>
</span></span><span class="line"><span class="cl">           <span class="c1"># Visual Studio 2015 / Visual C++ 14.0</span>
</span></span><span class="line"><span class="cl">           <span class="c1"># &#34;msvcr140.dll no longer exists&#34; http://blogs.msdn.com/b/vcblog/archive/2014/06/03/visual-studio-14-ctp.aspx</span>
</span></span><span class="line"><span class="cl">           <span class="k">return</span> <span class="p">[</span><span class="s1">&#39;vcruntime140&#39;</span><span class="p">]</span>
</span></span><span class="line"><span class="cl">        <span class="c1">#########################################</span>
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl">        <span class="k">else</span><span class="p">:</span>
</span></span><span class="line"><span class="cl">            <span class="k">raise</span> <span class="ne">ValueError</span><span class="p">(</span><span class="s2">&#34;Unknown MS Compiler version </span><span class="si">%s</span><span class="s2"> &#34;</span> <span class="o">%</span> <span class="n">msc_ver</span><span class="p">)</span>
</span></span></code></pre></td></tr></table>
</div>
</div><p>再次尝试安装编译winrandom，还是失败：No such file or directory<br>
这是找不到src/winrandom.c源文件吗？继续鼓捣鼓捣，感觉自己瞎折腾了一番，没解决问题，玩累了，再次到网上求助。</p>
<div class="highlight"><div class="chroma">
<table class="lntable"><tr><td class="lntd">
<pre tabindex="0" class="chroma"><code><span class="lnt"> 1
</span><span class="lnt"> 2
</span><span class="lnt"> 3
</span><span class="lnt"> 4
</span><span class="lnt"> 5
</span><span class="lnt"> 6
</span><span class="lnt"> 7
</span><span class="lnt"> 8
</span><span class="lnt"> 9
</span><span class="lnt">10
</span><span class="lnt">11
</span><span class="lnt">12
</span><span class="lnt">13
</span><span class="lnt">14
</span><span class="lnt">15
</span><span class="lnt">16
</span><span class="lnt">17
</span><span class="lnt">18
</span><span class="lnt">19
</span><span class="lnt">20
</span></code></pre></td>
<td class="lntd">
<pre tabindex="0" class="chroma"><code class="language-gdscript3" data-lang="gdscript3"><span class="line"><span class="cl"> <span class="o">----------------------------------------</span>
</span></span><span class="line"><span class="cl">  <span class="n">Failed</span> <span class="n">building</span> <span class="n">wheel</span> <span class="k">for</span> <span class="n">winrandom</span>
</span></span><span class="line"><span class="cl">  <span class="n">Running</span> <span class="n">setup</span><span class="o">.</span><span class="n">py</span> <span class="n">clean</span> <span class="k">for</span> <span class="n">winrandom</span>
</span></span><span class="line"><span class="cl"><span class="n">Failed</span> <span class="n">to</span> <span class="n">build</span> <span class="n">winrandom</span>
</span></span><span class="line"><span class="cl"><span class="n">Installing</span> <span class="n">collected</span> <span class="n">packages</span><span class="p">:</span> <span class="n">winrandom</span>
</span></span><span class="line"><span class="cl">  <span class="n">Running</span> <span class="n">setup</span><span class="o">.</span><span class="n">py</span> <span class="n">install</span> <span class="k">for</span> <span class="n">winrandom</span> <span class="o">...</span> <span class="n">error</span>
</span></span><span class="line"><span class="cl">    <span class="n">Complete</span> <span class="n">output</span> <span class="n">from</span> <span class="n">command</span> <span class="n">I</span><span class="p">:</span>\<span class="n">PYTHON</span><span class="o">~</span><span class="mi">1</span>\<span class="n">python</span><span class="o">.</span><span class="n">exe</span> <span class="o">-</span><span class="n">u</span> <span class="o">-</span><span class="n">c</span> <span class="s2">&#34;import setuptools, tokenize;__file__=&#39;K:</span><span class="se">\\</span><span class="s2">temp</span><span class="se">\\</span><span class="s2">pip-install-g_5exyuk</span><span class="se">\\</span><span class="s2">winrandom</span><span class="se">\\</span><span class="s2">setup.py&#39;;f=getattr(tokenize, &#39;open&#39;, open)(__file__);code=f.read().replace(&#39;</span><span class="se">\r\n</span><span class="s2">&#39;, &#39;</span><span class="se">\n</span><span class="s2">&#39;);f.close();exec(compile(code, __file__, &#39;exec&#39;))&#34;</span> <span class="n">install</span> <span class="o">--</span><span class="n">record</span> <span class="n">K</span><span class="p">:</span>\<span class="n">temp</span>\<span class="n">pip</span><span class="o">-</span><span class="n">record</span><span class="o">-</span><span class="n">qp70g1vo</span>\<span class="n">install</span><span class="o">-</span><span class="n">record</span><span class="o">.</span><span class="n">txt</span> <span class="o">--</span><span class="n">single</span><span class="o">-</span><span class="n">version</span><span class="o">-</span><span class="n">externally</span><span class="o">-</span><span class="n">managed</span> <span class="o">--</span><span class="n">compile</span><span class="p">:</span>
</span></span><span class="line"><span class="cl">    <span class="n">running</span> <span class="n">install</span>
</span></span><span class="line"><span class="cl">    <span class="n">running</span> <span class="n">build</span>
</span></span><span class="line"><span class="cl">    <span class="n">running</span> <span class="n">build_ext</span>
</span></span><span class="line"><span class="cl">    <span class="n">building</span> <span class="s1">&#39;winrandom&#39;</span> <span class="n">extension</span>
</span></span><span class="line"><span class="cl">    <span class="n">creating</span> <span class="n">build</span>
</span></span><span class="line"><span class="cl">    <span class="n">creating</span> <span class="n">build</span>\<span class="n">temp</span><span class="o">.</span><span class="n">win32</span><span class="o">-</span><span class="mf">3.6</span>
</span></span><span class="line"><span class="cl">    <span class="n">creating</span> <span class="n">build</span>\<span class="n">temp</span><span class="o">.</span><span class="n">win32</span><span class="o">-</span><span class="mf">3.6</span>\<span class="n">Release</span>
</span></span><span class="line"><span class="cl">    <span class="n">creating</span> <span class="n">build</span>\<span class="n">temp</span><span class="o">.</span><span class="n">win32</span><span class="o">-</span><span class="mf">3.6</span>\<span class="n">Release</span>\<span class="n">src</span>
</span></span><span class="line"><span class="cl">    <span class="n">I</span><span class="p">:</span>\<span class="n">gcc</span>\<span class="n">bin</span>\<span class="n">gcc</span><span class="o">.</span><span class="n">exe</span> <span class="o">-</span><span class="n">mdll</span> <span class="o">-</span><span class="n">O</span> <span class="o">-</span><span class="n">Wall</span> <span class="o">-</span><span class="n">II</span><span class="p">:</span>\<span class="n">PYTHON</span><span class="o">~</span><span class="mi">1</span>\<span class="n">include</span> <span class="o">-</span><span class="n">II</span><span class="p">:</span>\<span class="n">PYTHON</span><span class="o">~</span><span class="mi">1</span>\<span class="n">include</span> <span class="o">-</span><span class="n">c</span> <span class="n">src</span><span class="o">/</span><span class="n">winrandom</span><span class="o">.</span><span class="n">c</span> <span class="o">-</span><span class="n">o</span> <span class="n">build</span>\<span class="n">temp</span><span class="o">.</span><span class="n">win32</span><span class="o">-</span><span class="mf">3.6</span>\<span class="n">Release</span>\<span class="n">src</span>\<span class="n">winrandom</span><span class="o">.</span><span class="n">o</span>
</span></span><span class="line"><span class="cl">    <span class="n">gcc</span><span class="p">:</span> <span class="n">error</span><span class="p">:</span> <span class="n">CreateProcess</span><span class="p">:</span> <span class="n">No</span> <span class="n">such</span> <span class="n">file</span> <span class="ow">or</span> <span class="n">directory</span>
</span></span><span class="line"><span class="cl">    <span class="n">error</span><span class="p">:</span> <span class="n">command</span> <span class="s1">&#39;I:</span><span class="se">\\</span><span class="s1">gcc</span><span class="se">\\</span><span class="s1">bin</span><span class="se">\\</span><span class="s1">gcc.exe&#39;</span> <span class="n">failed</span> <span class="n">with</span> <span class="n">exit</span> <span class="n">status</span> <span class="mi">1</span>
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl">    <span class="o">----------------------------------------</span>
</span></span></code></pre></td></tr></table>
</div>
</div><p>网上别人给的解决办法：修改i:\python364\lib\site-packages\Crypto\Random\OSRNG\nt.py文件，将import winrandom 改成 from . import winrandom</p>
<p>方法有效。原来不是winrandom模块没有安装，而是Python的导入机制找不到模块的路径。先入为主地把思考问题的方向弄错了，花多少时间都是白费。Python的模块导入机制是如何搜索模块路径的？得花时间去了解一下。</p>
<div class="highlight"><div class="chroma">
<table class="lntable"><tr><td class="lntd">
<pre tabindex="0" class="chroma"><code><span class="lnt">1
</span><span class="lnt">2
</span></code></pre></td>
<td class="lntd">
<pre tabindex="0" class="chroma"><code class="language-python" data-lang="python"><span class="line"><span class="cl"><span class="c1"># import winrandom</span>
</span></span><span class="line"><span class="cl"><span class="kn">from</span> <span class="nn">.</span> <span class="kn">import</span> <span class="n">winrandom</span>
</span></span></code></pre></td></tr></table>
</div>
</div><p>尝试导入steem模块，又有新问题：OSError: [WinError 193] %1 不是有效的 Win32 应用程序。</p>
<div class="highlight"><div class="chroma">
<table class="lntable"><tr><td class="lntd">
<pre tabindex="0" class="chroma"><code><span class="lnt"> 1
</span><span class="lnt"> 2
</span><span class="lnt"> 3
</span><span class="lnt"> 4
</span><span class="lnt"> 5
</span><span class="lnt"> 6
</span><span class="lnt"> 7
</span><span class="lnt"> 8
</span><span class="lnt"> 9
</span><span class="lnt">10
</span><span class="lnt">11
</span><span class="lnt">12
</span><span class="lnt">13
</span><span class="lnt">14
</span><span class="lnt">15
</span><span class="lnt">16
</span><span class="lnt">17
</span><span class="lnt">18
</span><span class="lnt">19
</span><span class="lnt">20
</span><span class="lnt">21
</span><span class="lnt">22
</span></code></pre></td>
<td class="lntd">
<pre tabindex="0" class="chroma"><code class="language-fallback" data-lang="fallback"><span class="line"><span class="cl">i:\python364\lib\site-packages\scrypt\scrypt.py in &lt;module&gt;()
</span></span><span class="line"><span class="cl">     13 __version__ = &#39;0.8.6&#39;
</span></span><span class="line"><span class="cl">     14 
</span></span><span class="line"><span class="cl">---&gt; 15 _scrypt = cdll.LoadLibrary(imp.find_module(&#39;_scrypt&#39;)[1])
</span></span><span class="line"><span class="cl">     16 
</span></span><span class="line"><span class="cl">     17 _scryptenc_buf = _scrypt.exp_scryptenc_buf
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl">i:\python364\lib\ctypes\__init__.py in LoadLibrary(self, name)
</span></span><span class="line"><span class="cl">    424 
</span></span><span class="line"><span class="cl">    425     def LoadLibrary(self, name):
</span></span><span class="line"><span class="cl">--&gt; 426         return self._dlltype(name)
</span></span><span class="line"><span class="cl">    427 
</span></span><span class="line"><span class="cl">    428 cdll = LibraryLoader(CDLL)
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl">i:\python364\lib\ctypes\__init__.py in __init__(self, name, mode, handle, use_errno, use_last_error)
</span></span><span class="line"><span class="cl">    346 
</span></span><span class="line"><span class="cl">    347         if handle is None:
</span></span><span class="line"><span class="cl">--&gt; 348             self._handle = _dlopen(self._name, mode)
</span></span><span class="line"><span class="cl">    349         else:
</span></span><span class="line"><span class="cl">    350             self._handle = handle
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl">OSError: [WinError 193] %1 不是有效的 Win32 应用程序。
</span></span></code></pre></td></tr></table>
</div>
</div><p>问题出现在加载&quot;_scrypt&quot;这个模块上，这个模块不是一个.py文件，而是一个编译好的动态库：&quot;_scrypt.cp36-win32.pyd&quot;。<br>
为什么出现这个问题？<br>
难道是混用了 32-bit 和 64-bit的程序？通过pip安装的，应该不会弄错版本，而且安装的时候会提示：<strong>XXX is not a supported wheel on this platform.</strong></p>
<p>难道是&quot;_scrypt.cp36-win32.pyd&quot;这个程序损坏了？将scrypt模块卸载重装，问题依旧。没招了，不知道该怎么鼓捣了。</p>
<p>到了第二天，突然想了想，当前scrypt模块安装的是最新版：scrypt-0.8.6，要不装旧版本的试试，然后安装了scrypt-0.8.5。</p>
<div class="highlight"><div class="chroma">
<table class="lntable"><tr><td class="lntd">
<pre tabindex="0" class="chroma"><code><span class="lnt"> 1
</span><span class="lnt"> 2
</span><span class="lnt"> 3
</span><span class="lnt"> 4
</span><span class="lnt"> 5
</span><span class="lnt"> 6
</span><span class="lnt"> 7
</span><span class="lnt"> 8
</span><span class="lnt"> 9
</span><span class="lnt">10
</span><span class="lnt">11
</span><span class="lnt">12
</span><span class="lnt">13
</span></code></pre></td>
<td class="lntd">
<pre tabindex="0" class="chroma"><code class="language-fallback" data-lang="fallback"><span class="line"><span class="cl">D:\Users\tracis&gt;python -m pip uninstall scrypt
</span></span><span class="line"><span class="cl">Uninstalling scrypt-0.8.6:
</span></span><span class="line"><span class="cl">  Would remove:
</span></span><span class="line"><span class="cl">    i:\python~1\lib\site-packages\_scrypt.cp36-win32.pyd
</span></span><span class="line"><span class="cl">    i:\python~1\lib\site-packages\scrypt-0.8.6.dist-info\*
</span></span><span class="line"><span class="cl">    i:\python~1\lib\site-packages\scrypt\*
</span></span><span class="line"><span class="cl">Proceed (y/n)? y
</span></span><span class="line"><span class="cl">  Successfully uninstalled scrypt-0.8.6
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl">D:\Users\tracis&gt;python -m pip install K:\scrypt-0.8.5-cp36-cp36m-win32.whl
</span></span><span class="line"><span class="cl">Processing k:\scrypt-0.8.5-cp36-cp36m-win32.whl
</span></span><span class="line"><span class="cl">Installing collected packages: scrypt
</span></span><span class="line"><span class="cl">Successfully installed scrypt-0.8.5
</span></span></code></pre></td></tr></table>
</div>
</div><p><img loading="lazy" src="https://i.loli.net/2018/08/11/5b6e68f3747a2.jpg" alt="blob.jpg"  />
</p>
<p>导入steem模块成功，运气真好。迷迷糊糊地从坑里爬出来了=_=。</p>
]]></content:encoded>
    </item>
    <item>
      <title>安装steem-python遇到的问题</title>
      <link>https://hacperme.com/posts/notes/2018-08-08-fix_install_steem_with_python/</link>
      <pubDate>Wed, 08 Aug 2018 07:00:40 +0800</pubDate>
      <guid>https://hacperme.com/posts/notes/2018-08-08-fix_install_steem_with_python/</guid>
      <description>steem-python是steem官方的Python库，今天在Windows系统上安装这个库的时候遇到了一些问题。 安装steem-pyth</description>
      <content:encoded><![CDATA[<p>steem-python是steem官方的Python库，今天在Windows系统上安装这个库的时候遇到了一些问题。</p>
<p>安装steem-python的方法是用pip,在cmd里面输命令就可以了：</p>
<blockquote>
<p>python -m pip install steem</p>
</blockquote>
<p>但安装过程不是想象中的那样顺利，其中有两个模块安装不了：ujson和pycrypto<br>
出错提示:</p>
<blockquote>
<p>error: Microsoft Visual C++ 14.0 is required. Get it with &ldquo;Microsoft Visual C++ Build Tools&rdquo;: <a href="http://landinghub.visualstudio.com/visual-cpp-build-tools">http://landinghub.visualstudio.com/visual-cpp-build-tools</a></p>
</blockquote>
<p>既然缺少编译工具，那就按照提示下载安装软件 <a href="https://visualstudio.microsoft.com/downloads/#build-tools-for-visual-studio-2017">Visual Studio 2017 Community</a>，其实很不情愿安装这类巨无霸IDE软件，没办法，不装就玩不了。</p>
<p>勾选使用C++的桌面开发，更改安装路径。</p>
<p><img loading="lazy" src="https://i.loli.net/2018/08/07/5b69734e8ede0.jpg" alt="blob.jpg"  />
</p>
<p>安装Visual Studio 2017 Community的时候，发现VC_redist.x64.exe这个组件安装出错，只安装了Visual Studio这个空壳子，编译工具没装上，反复尝试卸载重装，修复，这个组件就是安装不了。</p>
<p>后来从安装日志发现，这个破玩意要先把旧版本的组件卸载了，再安装新组件，然而在卸载的时候出错了，找不到产品安装源。</p>
<p>这应该是从Windows 7 升级到 Windows 10的遗留问题，自升级到Windows 10后，发现以前的一些软件损坏了，而且旧软件卸载不了，新程序安装不上，自此成为电脑上的毒瘤。解决办法是只能用<a href="https://support.microsoft.com/zh-cn/help/17588/fix-problems-that-block-programs-from-being-installed-or-removed">MicrosoftProgram_Install_and_Uninstall.meta.diagcab</a>一个一个地清除这些毒瘤，速度贼慢，现在还有一堆损坏的软件没清理。</p>
<p><img loading="lazy" src="https://i.loli.net/2018/08/07/5b697cdacfafa.jpg" alt="blob.jpg"  />
</p>
<p>在清理了microsoft visual c++ 2015 x64 minimum runtime、microsoft visual c++ 2015 x64 additional runtime 等这几个&quot;microsoft visual c++ 2015 XXX&quot;的旧组件之后，再重新安装Visual Studio 2017 Community，一路顺畅，安装过程没有出错，编译工具也装好了。</p>
<p>尝试重新安装steem-python库，ujson安装没问题，但是编译pycrypto的时候还是出错了。</p>
<p><img loading="lazy" src="https://i.loli.net/2018/08/07/5b69800d67ba0.jpg" alt="blob.jpg"  />
</p>
<p>参照网上的解决办法:<a href="https://my.oschina.net/mengyoufengyu/blog/1524422">python3.6安装pycrypto</a></p>
<ul>
<li>将I:\Microsoft\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.14.26428\include\stdint.h文件拷贝到I:\Windows Kits\10\Include\10.0.17134.0\ucrt目录下</li>
<li>修改I:\Windows Kits\10\Include\10.0.17134.0\ucrt\inttypes.h<br>
注释#include &lt;stdint.h&gt;，添加#include &ldquo;stdint.h&rdquo;</li>
</ul>
<p><img loading="lazy" src="https://i.loli.net/2018/08/07/5b6982c21ff22.jpg" alt="blob.jpg"  />
</p>
<p>原来出现这个问题是由于编译器找不到stdint.h头文件，这个解决方法也是简单粗暴，哈哈。</p>
<p><img loading="lazy" src="https://i.loli.net/2018/08/07/5b69839562f99.jpg" alt="blob.jpg"  />
</p>
<p>最后，终于steem-python安装成功啦，花了几个小时在安装问题上。</p>
<p><img loading="lazy" src="https://i.loli.net/2018/08/07/5b6988745a1eb.jpg" alt="blob.jpg"  />
</p>
<p>后来试了试在Windows 10 的 Linux 子系统上安装 steem-python，其中没有出现错误，一次性安装好了。唉，早知道直接在Linux系统下安装得了，又是一番折腾。</p>
]]></content:encoded>
    </item>
    <item>
      <title>Learn Python with Steem #05 笔记</title>
      <link>https://hacperme.com/posts/notes/2018-08-02-learn-python-with-steem-05-note/</link>
      <pubDate>Thu, 02 Aug 2018 12:40:11 +0800</pubDate>
      <guid>https://hacperme.com/posts/notes/2018-08-02-learn-python-with-steem-05-note/</guid>
      <description>Learn Python with Steem #05 笔记 [toc] 划重点 字典 字典是Python内置的一种可变的数据结构，也是一种容器，可以放置任意类型的元素， 特点是用 {} 定义，元素以键值对的形</description>
      <content:encoded><![CDATA[<h1 id="learn-python-with-steem-05-笔记">Learn Python with Steem #05 笔记</h1>
<hr>
<p>[toc]</p>
<h2 id="划重点">划重点</h2>
<ul>
<li>
<p>字典 字典是Python内置的一种可变的数据结构，也是一种容器，可以放置任意类型的元素，</p>
<p>特点是用 {} 定义，元素以键值对的形式组织，键和值是一一对应的映射关系。</p>
<p>字典的常用操作：创建，访问，更新，删除。</p>
</li>
<li>
<p>列表</p>
<p>列表也是Python中一种可变的数据结构，其元素可以是任意类型，用 [] 定义。</p>
<p>列表的常用操作：创建，访问，添加，删除，切片，排序。</p>
</li>
</ul>
<h2 id="编程练习">编程练习</h2>
<div class="highlight"><div class="chroma">
<table class="lntable"><tr><td class="lntd">
<pre tabindex="0" class="chroma"><code><span class="lnt">1
</span><span class="lnt">2
</span><span class="lnt">3
</span><span class="lnt">4
</span><span class="lnt">5
</span><span class="lnt">6
</span></code></pre></td>
<td class="lntd">
<pre tabindex="0" class="chroma"><code class="language-python" data-lang="python"><span class="line"><span class="cl"><span class="c1"># 作业</span>
</span></span><span class="line"><span class="cl"><span class="n">my_list</span> <span class="o">=</span> <span class="p">[</span><span class="n">n</span><span class="o">**</span><span class="mi">3</span> <span class="k">for</span> <span class="n">n</span> <span class="ow">in</span> <span class="nb">range</span><span class="p">(</span><span class="mi">1</span><span class="p">,</span> <span class="mi">11</span><span class="p">)]</span>
</span></span><span class="line"><span class="cl"><span class="nb">print</span><span class="p">(</span><span class="n">my_list</span><span class="p">)</span>
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl"><span class="n">my_dictionary</span> <span class="o">=</span> <span class="nb">dict</span><span class="p">(</span><span class="nb">zip</span><span class="p">(</span><span class="nb">range</span><span class="p">(</span><span class="mi">1</span><span class="p">,</span> <span class="mi">11</span><span class="p">),</span> <span class="p">[</span><span class="n">n</span><span class="o">**</span><span class="mi">2</span> <span class="k">for</span> <span class="n">n</span> <span class="ow">in</span> <span class="nb">range</span><span class="p">(</span><span class="mi">1</span><span class="p">,</span> <span class="mi">11</span><span class="p">)]))</span>
</span></span><span class="line"><span class="cl"><span class="nb">print</span><span class="p">(</span><span class="n">my_dictionary</span><span class="p">)</span>
</span></span></code></pre></td></tr></table>
</div>
</div><div class="highlight"><div class="chroma">
<table class="lntable"><tr><td class="lntd">
<pre tabindex="0" class="chroma"><code><span class="lnt">1
</span><span class="lnt">2
</span></code></pre></td>
<td class="lntd">
<pre tabindex="0" class="chroma"><code class="language-fallback" data-lang="fallback"><span class="line"><span class="cl">[1, 8, 27, 64, 125, 216, 343, 512, 729, 1000]
</span></span><span class="line"><span class="cl">{1: 1, 2: 4, 3: 9, 4: 16, 5: 25, 6: 36, 7: 49, 8: 64, 9: 81, 10: 100}
</span></span></code></pre></td></tr></table>
</div>
</div><h2 id="补充">补充</h2>
<h3 id="列表">列表</h3>
<div class="highlight"><div class="chroma">
<table class="lntable"><tr><td class="lntd">
<pre tabindex="0" class="chroma"><code><span class="lnt">1
</span><span class="lnt">2
</span><span class="lnt">3
</span><span class="lnt">4
</span><span class="lnt">5
</span><span class="lnt">6
</span><span class="lnt">7
</span><span class="lnt">8
</span><span class="lnt">9
</span></code></pre></td>
<td class="lntd">
<pre tabindex="0" class="chroma"><code class="language-python" data-lang="python"><span class="line"><span class="cl"><span class="c1"># 创建</span>
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl"><span class="c1"># 元素可以是任意类型</span>
</span></span><span class="line"><span class="cl"><span class="n">my_list</span> <span class="o">=</span> <span class="p">[</span><span class="mi">3</span><span class="p">,</span> <span class="s1">&#39;apple&#39;</span><span class="p">,</span> <span class="mf">3.14</span><span class="p">,</span> <span class="p">[</span><span class="mi">1</span><span class="p">,</span> <span class="mi">2</span><span class="p">,</span> <span class="mi">3</span><span class="p">],</span> <span class="p">{</span><span class="s1">&#39;name&#39;</span><span class="p">:</span> <span class="s1">&#39;yjcps&#39;</span><span class="p">}]</span>
</span></span><span class="line"><span class="cl"><span class="nb">print</span><span class="p">(</span><span class="n">my_list</span><span class="p">)</span>
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl"><span class="c1"># 列表生成式</span>
</span></span><span class="line"><span class="cl"><span class="n">my_num</span> <span class="o">=</span> <span class="p">[</span><span class="n">n</span><span class="o">+</span><span class="mi">1</span> <span class="k">for</span> <span class="n">n</span> <span class="ow">in</span> <span class="nb">range</span><span class="p">(</span><span class="mi">10</span><span class="p">)]</span>
</span></span><span class="line"><span class="cl"><span class="nb">print</span><span class="p">(</span><span class="n">my_num</span><span class="p">)</span>
</span></span></code></pre></td></tr></table>
</div>
</div><div class="highlight"><div class="chroma">
<table class="lntable"><tr><td class="lntd">
<pre tabindex="0" class="chroma"><code><span class="lnt">1
</span><span class="lnt">2
</span></code></pre></td>
<td class="lntd">
<pre tabindex="0" class="chroma"><code class="language-fallback" data-lang="fallback"><span class="line"><span class="cl">[3, &#39;apple&#39;, 3.14, [1, 2, 3], {&#39;name&#39;: &#39;yjcps&#39;}]
</span></span><span class="line"><span class="cl">[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
</span></span></code></pre></td></tr></table>
</div>
</div><div class="highlight"><div class="chroma">
<table class="lntable"><tr><td class="lntd">
<pre tabindex="0" class="chroma"><code><span class="lnt">1
</span><span class="lnt">2
</span><span class="lnt">3
</span><span class="lnt">4
</span><span class="lnt">5
</span></code></pre></td>
<td class="lntd">
<pre tabindex="0" class="chroma"><code class="language-python" data-lang="python"><span class="line"><span class="cl"><span class="c1"># 使用整数下标访问元素，第一个元素从0开始</span>
</span></span><span class="line"><span class="cl"><span class="nb">print</span><span class="p">(</span><span class="n">my_list</span><span class="p">[</span><span class="mi">0</span><span class="p">])</span>
</span></span><span class="line"><span class="cl"><span class="nb">print</span><span class="p">(</span><span class="n">my_list</span><span class="p">[</span><span class="mi">2</span><span class="p">])</span>
</span></span><span class="line"><span class="cl"><span class="c1"># 可以使用负数</span>
</span></span><span class="line"><span class="cl"><span class="nb">print</span><span class="p">(</span><span class="n">my_list</span><span class="p">[</span><span class="o">-</span><span class="mi">3</span><span class="p">])</span>
</span></span></code></pre></td></tr></table>
</div>
</div><div class="highlight"><div class="chroma">
<table class="lntable"><tr><td class="lntd">
<pre tabindex="0" class="chroma"><code><span class="lnt">1
</span><span class="lnt">2
</span><span class="lnt">3
</span></code></pre></td>
<td class="lntd">
<pre tabindex="0" class="chroma"><code class="language-fallback" data-lang="fallback"><span class="line"><span class="cl">3
</span></span><span class="line"><span class="cl">3.14
</span></span><span class="line"><span class="cl">3.14
</span></span></code></pre></td></tr></table>
</div>
</div><div class="highlight"><div class="chroma">
<table class="lntable"><tr><td class="lntd">
<pre tabindex="0" class="chroma"><code><span class="lnt">1
</span><span class="lnt">2
</span></code></pre></td>
<td class="lntd">
<pre tabindex="0" class="chroma"><code class="language-python" data-lang="python"><span class="line"><span class="cl"><span class="c1"># 元素个数，列表长度</span>
</span></span><span class="line"><span class="cl"><span class="nb">print</span><span class="p">(</span><span class="nb">len</span><span class="p">(</span><span class="n">my_list</span><span class="p">))</span>
</span></span></code></pre></td></tr></table>
</div>
</div><div class="highlight"><div class="chroma">
<table class="lntable"><tr><td class="lntd">
<pre tabindex="0" class="chroma"><code><span class="lnt">1
</span></code></pre></td>
<td class="lntd">
<pre tabindex="0" class="chroma"><code class="language-fallback" data-lang="fallback"><span class="line"><span class="cl">5
</span></span></code></pre></td></tr></table>
</div>
</div><div class="highlight"><div class="chroma">
<table class="lntable"><tr><td class="lntd">
<pre tabindex="0" class="chroma"><code><span class="lnt">1
</span><span class="lnt">2
</span><span class="lnt">3
</span><span class="lnt">4
</span><span class="lnt">5
</span><span class="lnt">6
</span><span class="lnt">7
</span></code></pre></td>
<td class="lntd">
<pre tabindex="0" class="chroma"><code class="language-python" data-lang="python"><span class="line"><span class="cl"><span class="c1"># 添加元素</span>
</span></span><span class="line"><span class="cl"><span class="n">my_list</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="mi">555</span><span class="p">)</span> <span class="c1"># 添加到末尾</span>
</span></span><span class="line"><span class="cl"><span class="nb">print</span><span class="p">(</span><span class="n">my_list</span><span class="p">)</span>
</span></span><span class="line"><span class="cl"><span class="n">my_list</span><span class="o">.</span><span class="n">insert</span><span class="p">(</span><span class="o">-</span><span class="mi">2</span><span class="p">,</span> <span class="s1">&#39;steem&#39;</span><span class="p">)</span> <span class="c1">#指定位置</span>
</span></span><span class="line"><span class="cl"><span class="nb">print</span><span class="p">(</span><span class="n">my_list</span><span class="p">)</span>
</span></span><span class="line"><span class="cl"><span class="n">my_list</span><span class="o">.</span><span class="n">extend</span><span class="p">([</span><span class="mi">16</span><span class="p">,</span><span class="mi">22</span><span class="p">,</span><span class="mi">73</span><span class="p">,</span><span class="mi">45</span><span class="p">])</span>
</span></span><span class="line"><span class="cl"><span class="nb">print</span><span class="p">(</span><span class="n">my_list</span><span class="p">)</span>
</span></span></code></pre></td></tr></table>
</div>
</div><div class="highlight"><div class="chroma">
<table class="lntable"><tr><td class="lntd">
<pre tabindex="0" class="chroma"><code><span class="lnt">1
</span><span class="lnt">2
</span><span class="lnt">3
</span></code></pre></td>
<td class="lntd">
<pre tabindex="0" class="chroma"><code class="language-fallback" data-lang="fallback"><span class="line"><span class="cl">[3, &#39;apple&#39;, 3.14, [1, 2, 3], {&#39;name&#39;: &#39;yjcps&#39;}, 555]
</span></span><span class="line"><span class="cl">[3, &#39;apple&#39;, 3.14, [1, 2, 3], &#39;steem&#39;, {&#39;name&#39;: &#39;yjcps&#39;}, 555]
</span></span><span class="line"><span class="cl">[3, &#39;apple&#39;, 3.14, [1, 2, 3], &#39;steem&#39;, {&#39;name&#39;: &#39;yjcps&#39;}, 555, 16, 22, 73, 45]
</span></span></code></pre></td></tr></table>
</div>
</div><div class="highlight"><div class="chroma">
<table class="lntable"><tr><td class="lntd">
<pre tabindex="0" class="chroma"><code><span class="lnt">1
</span><span class="lnt">2
</span><span class="lnt">3
</span></code></pre></td>
<td class="lntd">
<pre tabindex="0" class="chroma"><code class="language-python" data-lang="python"><span class="line"><span class="cl"><span class="c1"># 遍历列表</span>
</span></span><span class="line"><span class="cl"><span class="k">for</span> <span class="n">item</span> <span class="ow">in</span> <span class="n">my_list</span><span class="p">:</span>
</span></span><span class="line"><span class="cl">    <span class="nb">print</span><span class="p">(</span><span class="n">item</span><span class="p">)</span>
</span></span></code></pre></td></tr></table>
</div>
</div><div class="highlight"><div class="chroma">
<table class="lntable"><tr><td class="lntd">
<pre tabindex="0" class="chroma"><code><span class="lnt"> 1
</span><span class="lnt"> 2
</span><span class="lnt"> 3
</span><span class="lnt"> 4
</span><span class="lnt"> 5
</span><span class="lnt"> 6
</span><span class="lnt"> 7
</span><span class="lnt"> 8
</span><span class="lnt"> 9
</span><span class="lnt">10
</span><span class="lnt">11
</span></code></pre></td>
<td class="lntd">
<pre tabindex="0" class="chroma"><code class="language-fallback" data-lang="fallback"><span class="line"><span class="cl">3
</span></span><span class="line"><span class="cl">apple
</span></span><span class="line"><span class="cl">3.14
</span></span><span class="line"><span class="cl">[1, 2, 3]
</span></span><span class="line"><span class="cl">steem
</span></span><span class="line"><span class="cl">{&#39;name&#39;: &#39;yjcps&#39;}
</span></span><span class="line"><span class="cl">555
</span></span><span class="line"><span class="cl">16
</span></span><span class="line"><span class="cl">22
</span></span><span class="line"><span class="cl">73
</span></span><span class="line"><span class="cl">45
</span></span></code></pre></td></tr></table>
</div>
</div><div class="highlight"><div class="chroma">
<table class="lntable"><tr><td class="lntd">
<pre tabindex="0" class="chroma"><code><span class="lnt"> 1
</span><span class="lnt"> 2
</span><span class="lnt"> 3
</span><span class="lnt"> 4
</span><span class="lnt"> 5
</span><span class="lnt"> 6
</span><span class="lnt"> 7
</span><span class="lnt"> 8
</span><span class="lnt"> 9
</span><span class="lnt">10
</span><span class="lnt">11
</span><span class="lnt">12
</span></code></pre></td>
<td class="lntd">
<pre tabindex="0" class="chroma"><code class="language-python" data-lang="python"><span class="line"><span class="cl"><span class="c1"># 删除元素</span>
</span></span><span class="line"><span class="cl"><span class="n">my_list</span><span class="o">.</span><span class="n">remove</span><span class="p">(</span><span class="mf">3.14</span><span class="p">)</span>
</span></span><span class="line"><span class="cl"><span class="nb">print</span><span class="p">(</span><span class="n">my_list</span><span class="p">)</span>
</span></span><span class="line"><span class="cl"><span class="k">del</span> <span class="n">my_list</span><span class="p">[</span><span class="o">-</span><span class="mi">1</span><span class="p">]</span>
</span></span><span class="line"><span class="cl"><span class="nb">print</span><span class="p">(</span><span class="n">my_list</span><span class="p">)</span>
</span></span><span class="line"><span class="cl"><span class="n">my_list</span><span class="o">.</span><span class="n">remove</span><span class="p">(</span><span class="s1">&#39;apple&#39;</span><span class="p">)</span>
</span></span><span class="line"><span class="cl"><span class="nb">print</span><span class="p">(</span><span class="n">my_list</span><span class="p">)</span>
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl"><span class="nb">print</span><span class="p">()</span>
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl"><span class="n">my_list</span><span class="o">.</span><span class="n">clear</span><span class="p">()</span> <span class="c1"># 清空</span>
</span></span><span class="line"><span class="cl"><span class="nb">print</span><span class="p">(</span><span class="n">my_list</span><span class="p">)</span>
</span></span></code></pre></td></tr></table>
</div>
</div><div class="highlight"><div class="chroma">
<table class="lntable"><tr><td class="lntd">
<pre tabindex="0" class="chroma"><code><span class="lnt">1
</span><span class="lnt">2
</span><span class="lnt">3
</span><span class="lnt">4
</span><span class="lnt">5
</span></code></pre></td>
<td class="lntd">
<pre tabindex="0" class="chroma"><code class="language-fallback" data-lang="fallback"><span class="line"><span class="cl">[3, &#39;apple&#39;, [1, 2, 3], &#39;steem&#39;, {&#39;name&#39;: &#39;yjcps&#39;}, 555, 16, 22, 73, 45]
</span></span><span class="line"><span class="cl">[3, &#39;apple&#39;, [1, 2, 3], &#39;steem&#39;, {&#39;name&#39;: &#39;yjcps&#39;}, 555, 16, 22, 73]
</span></span><span class="line"><span class="cl">[3, [1, 2, 3], &#39;steem&#39;, {&#39;name&#39;: &#39;yjcps&#39;}, 555, 16, 22, 73]
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl">[]
</span></span></code></pre></td></tr></table>
</div>
</div><div class="highlight"><div class="chroma">
<table class="lntable"><tr><td class="lntd">
<pre tabindex="0" class="chroma"><code><span class="lnt">1
</span><span class="lnt">2
</span><span class="lnt">3
</span><span class="lnt">4
</span><span class="lnt">5
</span><span class="lnt">6
</span><span class="lnt">7
</span><span class="lnt">8
</span></code></pre></td>
<td class="lntd">
<pre tabindex="0" class="chroma"><code class="language-python" data-lang="python"><span class="line"><span class="cl"><span class="c1"># 切片 list[起:s止:步伐]</span>
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl"><span class="nb">print</span><span class="p">(</span><span class="n">my_num</span><span class="p">)</span>
</span></span><span class="line"><span class="cl"><span class="nb">print</span><span class="p">(</span><span class="n">my_num</span><span class="p">[</span><span class="mi">2</span><span class="p">:</span><span class="mi">5</span><span class="p">])</span>
</span></span><span class="line"><span class="cl"><span class="nb">print</span><span class="p">(</span><span class="n">my_num</span><span class="p">[</span><span class="mi">1</span><span class="p">:</span><span class="mi">8</span><span class="p">:</span><span class="mi">2</span><span class="p">])</span>
</span></span><span class="line"><span class="cl"><span class="nb">print</span><span class="p">(</span><span class="n">my_num</span><span class="p">[</span><span class="mi">3</span><span class="p">:</span><span class="o">-</span><span class="mi">3</span><span class="p">])</span>
</span></span><span class="line"><span class="cl"><span class="nb">print</span><span class="p">(</span><span class="n">my_num</span><span class="p">[</span><span class="o">-</span><span class="mi">2</span><span class="p">:</span><span class="mi">3</span><span class="p">:</span><span class="o">-</span><span class="mi">1</span><span class="p">])</span>
</span></span><span class="line"><span class="cl"><span class="nb">print</span><span class="p">(</span><span class="n">my_num</span><span class="p">[::</span><span class="o">-</span><span class="mi">1</span><span class="p">])</span>
</span></span></code></pre></td></tr></table>
</div>
</div><div class="highlight"><div class="chroma">
<table class="lntable"><tr><td class="lntd">
<pre tabindex="0" class="chroma"><code><span class="lnt">1
</span><span class="lnt">2
</span><span class="lnt">3
</span><span class="lnt">4
</span><span class="lnt">5
</span><span class="lnt">6
</span></code></pre></td>
<td class="lntd">
<pre tabindex="0" class="chroma"><code class="language-fallback" data-lang="fallback"><span class="line"><span class="cl">[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
</span></span><span class="line"><span class="cl">[3, 4, 5]
</span></span><span class="line"><span class="cl">[2, 4, 6, 8]
</span></span><span class="line"><span class="cl">[4, 5, 6, 7]
</span></span><span class="line"><span class="cl">[9, 8, 7, 6, 5]
</span></span><span class="line"><span class="cl">[10, 9, 8, 7, 6, 5, 4, 3, 2, 1]
</span></span></code></pre></td></tr></table>
</div>
</div><div class="highlight"><div class="chroma">
<table class="lntable"><tr><td class="lntd">
<pre tabindex="0" class="chroma"><code><span class="lnt"> 1
</span><span class="lnt"> 2
</span><span class="lnt"> 3
</span><span class="lnt"> 4
</span><span class="lnt"> 5
</span><span class="lnt"> 6
</span><span class="lnt"> 7
</span><span class="lnt"> 8
</span><span class="lnt"> 9
</span><span class="lnt">10
</span></code></pre></td>
<td class="lntd">
<pre tabindex="0" class="chroma"><code class="language-python" data-lang="python"><span class="line"><span class="cl"><span class="c1"># 排序</span>
</span></span><span class="line"><span class="cl"><span class="n">my_num</span> <span class="o">=</span> <span class="p">[</span><span class="mi">11</span><span class="p">,</span> <span class="mi">4</span><span class="p">,</span> <span class="mi">56</span><span class="p">,</span> <span class="mi">98</span><span class="p">,</span> <span class="mi">34</span><span class="p">,</span> <span class="mi">6</span><span class="p">,</span> <span class="mi">77</span><span class="p">,</span> <span class="mi">23</span><span class="p">,</span> <span class="mf">12.4</span><span class="p">,</span> <span class="mi">3</span><span class="p">]</span>
</span></span><span class="line"><span class="cl"><span class="nb">print</span><span class="p">(</span><span class="nb">sorted</span><span class="p">(</span><span class="n">my_num</span><span class="p">))</span>
</span></span><span class="line"><span class="cl"><span class="nb">print</span><span class="p">(</span><span class="nb">sorted</span><span class="p">(</span><span class="n">my_num</span><span class="p">,</span> <span class="n">reverse</span><span class="o">=</span><span class="kc">True</span><span class="p">))</span>
</span></span><span class="line"><span class="cl"><span class="nb">print</span><span class="p">(</span><span class="n">my_num</span><span class="p">)</span> <span class="c1"># 不改变原来的列表</span>
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl"><span class="nb">print</span><span class="p">()</span>
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl"><span class="n">my_num</span><span class="o">.</span><span class="n">sort</span><span class="p">(</span><span class="n">reverse</span><span class="o">=</span><span class="kc">True</span><span class="p">)</span>
</span></span><span class="line"><span class="cl"><span class="nb">print</span><span class="p">(</span><span class="n">my_num</span><span class="p">)</span> <span class="c1"># 改变原来的列表</span>
</span></span></code></pre></td></tr></table>
</div>
</div><div class="highlight"><div class="chroma">
<table class="lntable"><tr><td class="lntd">
<pre tabindex="0" class="chroma"><code><span class="lnt">1
</span><span class="lnt">2
</span><span class="lnt">3
</span><span class="lnt">4
</span><span class="lnt">5
</span></code></pre></td>
<td class="lntd">
<pre tabindex="0" class="chroma"><code class="language-fallback" data-lang="fallback"><span class="line"><span class="cl">[3, 4, 6, 11, 12.4, 23, 34, 56, 77, 98]
</span></span><span class="line"><span class="cl">[98, 77, 56, 34, 23, 12.4, 11, 6, 4, 3]
</span></span><span class="line"><span class="cl">[11, 4, 56, 98, 34, 6, 77, 23, 12.4, 3]
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl">[98, 77, 56, 34, 23, 12.4, 11, 6, 4, 3]
</span></span></code></pre></td></tr></table>
</div>
</div><h3 id="字典">字典</h3>
<div class="highlight"><div class="chroma">
<table class="lntable"><tr><td class="lntd">
<pre tabindex="0" class="chroma"><code><span class="lnt"> 1
</span><span class="lnt"> 2
</span><span class="lnt"> 3
</span><span class="lnt"> 4
</span><span class="lnt"> 5
</span><span class="lnt"> 6
</span><span class="lnt"> 7
</span><span class="lnt"> 8
</span><span class="lnt"> 9
</span><span class="lnt">10
</span><span class="lnt">11
</span><span class="lnt">12
</span><span class="lnt">13
</span><span class="lnt">14
</span><span class="lnt">15
</span><span class="lnt">16
</span><span class="lnt">17
</span></code></pre></td>
<td class="lntd">
<pre tabindex="0" class="chroma"><code class="language-python" data-lang="python"><span class="line"><span class="cl"><span class="c1"># 创建</span>
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl"><span class="n">my_dictionary</span> <span class="o">=</span> <span class="p">{</span>
</span></span><span class="line"><span class="cl">    <span class="s1">&#39;A&#39;</span><span class="p">:</span> <span class="mi">1</span><span class="p">,</span>
</span></span><span class="line"><span class="cl">    <span class="s1">&#39;B&#39;</span><span class="p">:</span> <span class="mi">2</span><span class="p">,</span>
</span></span><span class="line"><span class="cl">    <span class="s1">&#39;C&#39;</span><span class="p">:</span> <span class="mi">3</span><span class="p">,</span>
</span></span><span class="line"><span class="cl">    <span class="s1">&#39;D&#39;</span><span class="p">:</span> <span class="mi">4</span><span class="p">,</span>
</span></span><span class="line"><span class="cl">    <span class="s1">&#39;E&#39;</span><span class="p">:</span> <span class="mi">5</span>
</span></span><span class="line"><span class="cl"><span class="p">}</span>
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl"><span class="nb">print</span><span class="p">(</span><span class="n">my_dictionary</span><span class="p">)</span>
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl"><span class="n">list_keys</span> <span class="o">=</span> <span class="p">[</span><span class="s1">&#39;A&#39;</span><span class="p">,</span> <span class="s1">&#39;B&#39;</span><span class="p">,</span> <span class="s1">&#39;C&#39;</span><span class="p">,</span> <span class="s1">&#39;D&#39;</span><span class="p">,</span> <span class="s1">&#39;E&#39;</span><span class="p">,</span> <span class="s1">&#39;F&#39;</span><span class="p">,</span> <span class="s1">&#39;G&#39;</span><span class="p">]</span>
</span></span><span class="line"><span class="cl"><span class="n">list_values</span> <span class="o">=</span> <span class="p">[</span><span class="mi">1</span><span class="p">,</span> <span class="mi">2</span><span class="p">,</span> <span class="mi">3</span><span class="p">,</span> <span class="mi">4</span><span class="p">,</span> <span class="mi">5</span><span class="p">,</span> <span class="mi">6</span><span class="p">,</span> <span class="p">]</span>
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl"><span class="n">my_dictionary</span> <span class="o">=</span> <span class="nb">dict</span><span class="p">(</span><span class="nb">zip</span><span class="p">(</span><span class="n">list_keys</span><span class="p">,</span> <span class="n">list_values</span><span class="p">))</span>
</span></span><span class="line"><span class="cl"><span class="nb">print</span><span class="p">(</span><span class="n">my_dictionary</span><span class="p">)</span>
</span></span></code></pre></td></tr></table>
</div>
</div><div class="highlight"><div class="chroma">
<table class="lntable"><tr><td class="lntd">
<pre tabindex="0" class="chroma"><code><span class="lnt">1
</span><span class="lnt">2
</span></code></pre></td>
<td class="lntd">
<pre tabindex="0" class="chroma"><code class="language-fallback" data-lang="fallback"><span class="line"><span class="cl">{&#39;A&#39;: 1, &#39;B&#39;: 2, &#39;C&#39;: 3, &#39;D&#39;: 4, &#39;E&#39;: 5}
</span></span><span class="line"><span class="cl">{&#39;A&#39;: 1, &#39;B&#39;: 2, &#39;C&#39;: 3, &#39;D&#39;: 4, &#39;E&#39;: 5, &#39;F&#39;: 6}
</span></span></code></pre></td></tr></table>
</div>
</div><div class="highlight"><div class="chroma">
<table class="lntable"><tr><td class="lntd">
<pre tabindex="0" class="chroma"><code><span class="lnt">1
</span><span class="lnt">2
</span><span class="lnt">3
</span><span class="lnt">4
</span><span class="lnt">5
</span></code></pre></td>
<td class="lntd">
<pre tabindex="0" class="chroma"><code class="language-python" data-lang="python"><span class="line"><span class="cl"><span class="c1"># 访问</span>
</span></span><span class="line"><span class="cl"><span class="nb">print</span><span class="p">(</span><span class="n">my_dictionary</span><span class="p">[</span><span class="s1">&#39;B&#39;</span><span class="p">])</span>
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl"><span class="nb">print</span><span class="p">(</span><span class="n">my_dictionary</span><span class="o">.</span><span class="n">keys</span><span class="p">())</span>
</span></span><span class="line"><span class="cl"><span class="nb">print</span><span class="p">(</span><span class="n">my_dictionary</span><span class="o">.</span><span class="n">values</span><span class="p">())</span>
</span></span></code></pre></td></tr></table>
</div>
</div><div class="highlight"><div class="chroma">
<table class="lntable"><tr><td class="lntd">
<pre tabindex="0" class="chroma"><code><span class="lnt">1
</span><span class="lnt">2
</span><span class="lnt">3
</span></code></pre></td>
<td class="lntd">
<pre tabindex="0" class="chroma"><code class="language-fallback" data-lang="fallback"><span class="line"><span class="cl">2
</span></span><span class="line"><span class="cl">dict_keys([&#39;A&#39;, &#39;B&#39;, &#39;C&#39;, &#39;D&#39;, &#39;E&#39;, &#39;F&#39;])
</span></span><span class="line"><span class="cl">dict_values([1, 2, 3, 4, 5, 6])
</span></span></code></pre></td></tr></table>
</div>
</div><div class="highlight"><div class="chroma">
<table class="lntable"><tr><td class="lntd">
<pre tabindex="0" class="chroma"><code><span class="lnt">1
</span><span class="lnt">2
</span><span class="lnt">3
</span><span class="lnt">4
</span><span class="lnt">5
</span><span class="lnt">6
</span><span class="lnt">7
</span></code></pre></td>
<td class="lntd">
<pre tabindex="0" class="chroma"><code class="language-python" data-lang="python"><span class="line"><span class="cl"><span class="k">for</span> <span class="n">k</span><span class="p">,</span> <span class="n">v</span> <span class="ow">in</span> <span class="n">my_dictionary</span><span class="o">.</span><span class="n">items</span><span class="p">():</span>
</span></span><span class="line"><span class="cl">    <span class="nb">print</span><span class="p">(</span><span class="n">k</span><span class="p">,</span> <span class="n">v</span><span class="p">)</span>
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl"><span class="nb">print</span><span class="p">()</span>
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl"><span class="k">for</span> <span class="n">k</span> <span class="ow">in</span> <span class="n">my_dictionary</span><span class="p">:</span>
</span></span><span class="line"><span class="cl">    <span class="nb">print</span><span class="p">(</span><span class="n">my_dictionary</span><span class="p">[</span><span class="n">k</span><span class="p">])</span>
</span></span></code></pre></td></tr></table>
</div>
</div><div class="highlight"><div class="chroma">
<table class="lntable"><tr><td class="lntd">
<pre tabindex="0" class="chroma"><code><span class="lnt"> 1
</span><span class="lnt"> 2
</span><span class="lnt"> 3
</span><span class="lnt"> 4
</span><span class="lnt"> 5
</span><span class="lnt"> 6
</span><span class="lnt"> 7
</span><span class="lnt"> 8
</span><span class="lnt"> 9
</span><span class="lnt">10
</span><span class="lnt">11
</span><span class="lnt">12
</span><span class="lnt">13
</span></code></pre></td>
<td class="lntd">
<pre tabindex="0" class="chroma"><code class="language-fallback" data-lang="fallback"><span class="line"><span class="cl">A 1
</span></span><span class="line"><span class="cl">B 2
</span></span><span class="line"><span class="cl">C 3
</span></span><span class="line"><span class="cl">D 4
</span></span><span class="line"><span class="cl">E 5
</span></span><span class="line"><span class="cl">F 6
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl">1
</span></span><span class="line"><span class="cl">2
</span></span><span class="line"><span class="cl">3
</span></span><span class="line"><span class="cl">4
</span></span><span class="line"><span class="cl">5
</span></span><span class="line"><span class="cl">6
</span></span></code></pre></td></tr></table>
</div>
</div><div class="highlight"><div class="chroma">
<table class="lntable"><tr><td class="lntd">
<pre tabindex="0" class="chroma"><code><span class="lnt">1
</span><span class="lnt">2
</span><span class="lnt">3
</span><span class="lnt">4
</span><span class="lnt">5
</span><span class="lnt">6
</span><span class="lnt">7
</span></code></pre></td>
<td class="lntd">
<pre tabindex="0" class="chroma"><code class="language-python" data-lang="python"><span class="line"><span class="cl"><span class="c1"># 更新</span>
</span></span><span class="line"><span class="cl"><span class="n">my_dictionary</span><span class="p">[</span><span class="s1">&#39;A&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="s1">&#39;one&#39;</span>
</span></span><span class="line"><span class="cl"><span class="nb">print</span><span class="p">(</span><span class="n">my_dictionary</span><span class="p">)</span>
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl"><span class="n">my_dictionary</span><span class="o">.</span><span class="n">update</span><span class="p">({</span><span class="s1">&#39;B&#39;</span><span class="p">:</span> <span class="s1">&#39;two&#39;</span><span class="p">,</span> <span class="s1">&#39;C&#39;</span><span class="p">:</span> <span class="s1">&#39;three&#39;</span><span class="p">})</span>
</span></span><span class="line"><span class="cl"><span class="n">my_dictionary</span><span class="o">.</span><span class="n">update</span><span class="p">(</span><span class="n">F</span><span class="o">=</span><span class="s1">&#39;six&#39;</span><span class="p">)</span>
</span></span><span class="line"><span class="cl"><span class="nb">print</span><span class="p">(</span><span class="n">my_dictionary</span><span class="p">)</span>
</span></span></code></pre></td></tr></table>
</div>
</div><div class="highlight"><div class="chroma">
<table class="lntable"><tr><td class="lntd">
<pre tabindex="0" class="chroma"><code><span class="lnt">1
</span><span class="lnt">2
</span></code></pre></td>
<td class="lntd">
<pre tabindex="0" class="chroma"><code class="language-fallback" data-lang="fallback"><span class="line"><span class="cl">{&#39;A&#39;: &#39;one&#39;, &#39;B&#39;: 2, &#39;C&#39;: 3, &#39;D&#39;: 4, &#39;E&#39;: 5, &#39;F&#39;: 6}
</span></span><span class="line"><span class="cl">{&#39;A&#39;: &#39;one&#39;, &#39;B&#39;: &#39;two&#39;, &#39;C&#39;: &#39;three&#39;, &#39;D&#39;: 4, &#39;E&#39;: 5, &#39;F&#39;: &#39;six&#39;}
</span></span></code></pre></td></tr></table>
</div>
</div><div class="highlight"><div class="chroma">
<table class="lntable"><tr><td class="lntd">
<pre tabindex="0" class="chroma"><code><span class="lnt"> 1
</span><span class="lnt"> 2
</span><span class="lnt"> 3
</span><span class="lnt"> 4
</span><span class="lnt"> 5
</span><span class="lnt"> 6
</span><span class="lnt"> 7
</span><span class="lnt"> 8
</span><span class="lnt"> 9
</span><span class="lnt">10
</span><span class="lnt">11
</span><span class="lnt">12
</span><span class="lnt">13
</span><span class="lnt">14
</span></code></pre></td>
<td class="lntd">
<pre tabindex="0" class="chroma"><code class="language-python" data-lang="python"><span class="line"><span class="cl"><span class="c1"># 删除</span>
</span></span><span class="line"><span class="cl"><span class="nb">print</span><span class="p">(</span><span class="n">my_dictionary</span><span class="o">.</span><span class="n">popitem</span><span class="p">())</span>
</span></span><span class="line"><span class="cl"><span class="nb">print</span><span class="p">(</span><span class="n">my_dictionary</span><span class="o">.</span><span class="n">popitem</span><span class="p">())</span>
</span></span><span class="line"><span class="cl"><span class="nb">print</span><span class="p">(</span><span class="n">my_dictionary</span><span class="p">)</span>
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl"><span class="nb">print</span><span class="p">()</span>
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl"><span class="nb">print</span><span class="p">(</span><span class="n">my_dictionary</span><span class="o">.</span><span class="n">pop</span><span class="p">(</span><span class="s1">&#39;B&#39;</span><span class="p">))</span>
</span></span><span class="line"><span class="cl"><span class="nb">print</span><span class="p">(</span><span class="n">my_dictionary</span><span class="p">)</span>
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl"><span class="nb">print</span><span class="p">()</span>
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl"><span class="n">my_dictionary</span><span class="o">.</span><span class="n">clear</span><span class="p">()</span> <span class="c1"># 清空</span>
</span></span><span class="line"><span class="cl"><span class="nb">print</span><span class="p">(</span><span class="n">my_dictionary</span><span class="p">)</span>
</span></span></code></pre></td></tr></table>
</div>
</div><div class="highlight"><div class="chroma">
<table class="lntable"><tr><td class="lntd">
<pre tabindex="0" class="chroma"><code><span class="lnt">1
</span><span class="lnt">2
</span><span class="lnt">3
</span><span class="lnt">4
</span><span class="lnt">5
</span><span class="lnt">6
</span><span class="lnt">7
</span><span class="lnt">8
</span></code></pre></td>
<td class="lntd">
<pre tabindex="0" class="chroma"><code class="language-fallback" data-lang="fallback"><span class="line"><span class="cl">(&#39;F&#39;, &#39;six&#39;)
</span></span><span class="line"><span class="cl">(&#39;E&#39;, 5)
</span></span><span class="line"><span class="cl">{&#39;A&#39;: &#39;one&#39;, &#39;B&#39;: &#39;two&#39;, &#39;C&#39;: &#39;three&#39;, &#39;D&#39;: 4}
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl">two
</span></span><span class="line"><span class="cl">{&#39;A&#39;: &#39;one&#39;, &#39;C&#39;: &#39;three&#39;, &#39;D&#39;: 4}
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl">{}
</span></span></code></pre></td></tr></table>
</div>
</div><h3 id="集合">集合</h3>
<p>集合里的元素是唯一的，无序的，可以行交集、并集、差集等运算</p>
<div class="highlight"><div class="chroma">
<table class="lntable"><tr><td class="lntd">
<pre tabindex="0" class="chroma"><code><span class="lnt">1
</span><span class="lnt">2
</span><span class="lnt">3
</span><span class="lnt">4
</span><span class="lnt">5
</span><span class="lnt">6
</span></code></pre></td>
<td class="lntd">
<pre tabindex="0" class="chroma"><code class="language-python" data-lang="python"><span class="line"><span class="cl"><span class="c1"># 创建</span>
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl"><span class="n">my_set_1</span> <span class="o">=</span> <span class="p">{</span><span class="mi">1</span><span class="p">,</span><span class="mi">3</span><span class="p">,</span><span class="mi">4</span><span class="p">,</span><span class="mi">4</span><span class="p">,</span><span class="mi">5</span><span class="p">,</span><span class="mi">6</span><span class="p">,</span><span class="mi">7</span><span class="p">,</span><span class="mi">8</span><span class="p">}</span>
</span></span><span class="line"><span class="cl"><span class="n">my_set_2</span> <span class="o">=</span> <span class="nb">set</span><span class="p">(</span><span class="nb">range</span><span class="p">(</span><span class="mi">10</span><span class="p">))</span>
</span></span><span class="line"><span class="cl"><span class="nb">print</span><span class="p">(</span><span class="n">my_set_1</span><span class="p">)</span>
</span></span><span class="line"><span class="cl"><span class="nb">print</span><span class="p">(</span><span class="n">my_set_2</span><span class="p">)</span>
</span></span></code></pre></td></tr></table>
</div>
</div><div class="highlight"><div class="chroma">
<table class="lntable"><tr><td class="lntd">
<pre tabindex="0" class="chroma"><code><span class="lnt">1
</span><span class="lnt">2
</span></code></pre></td>
<td class="lntd">
<pre tabindex="0" class="chroma"><code class="language-fallback" data-lang="fallback"><span class="line"><span class="cl">{1, 3, 4, 5, 6, 7, 8}
</span></span><span class="line"><span class="cl">{0, 1, 2, 3, 4, 5, 6, 7, 8, 9}
</span></span></code></pre></td></tr></table>
</div>
</div><div class="highlight"><div class="chroma">
<table class="lntable"><tr><td class="lntd">
<pre tabindex="0" class="chroma"><code><span class="lnt"> 1
</span><span class="lnt"> 2
</span><span class="lnt"> 3
</span><span class="lnt"> 4
</span><span class="lnt"> 5
</span><span class="lnt"> 6
</span><span class="lnt"> 7
</span><span class="lnt"> 8
</span><span class="lnt"> 9
</span><span class="lnt">10
</span></code></pre></td>
<td class="lntd">
<pre tabindex="0" class="chroma"><code class="language-python" data-lang="python"><span class="line"><span class="cl"><span class="c1"># 增删改 </span>
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl"><span class="n">my_set_1</span><span class="o">.</span><span class="n">add</span><span class="p">(</span><span class="mi">99</span><span class="p">)</span>
</span></span><span class="line"><span class="cl"><span class="n">my_set_1</span><span class="o">.</span><span class="n">add</span><span class="p">(</span><span class="mi">45</span><span class="p">)</span>
</span></span><span class="line"><span class="cl"><span class="nb">print</span><span class="p">(</span><span class="n">my_set_1</span><span class="p">)</span>
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl"><span class="nb">print</span><span class="p">(</span><span class="n">my_set_1</span><span class="o">.</span><span class="n">pop</span><span class="p">())</span>
</span></span><span class="line"><span class="cl"><span class="nb">print</span><span class="p">(</span><span class="n">my_set_1</span><span class="o">.</span><span class="n">pop</span><span class="p">())</span>
</span></span><span class="line"><span class="cl"><span class="nb">print</span><span class="p">(</span><span class="n">my_set_1</span><span class="p">)</span>
</span></span></code></pre></td></tr></table>
</div>
</div><div class="highlight"><div class="chroma">
<table class="lntable"><tr><td class="lntd">
<pre tabindex="0" class="chroma"><code><span class="lnt">1
</span><span class="lnt">2
</span><span class="lnt">3
</span><span class="lnt">4
</span></code></pre></td>
<td class="lntd">
<pre tabindex="0" class="chroma"><code class="language-fallback" data-lang="fallback"><span class="line"><span class="cl">{1, 3, 4, 5, 6, 7, 8, 99, 45}
</span></span><span class="line"><span class="cl">1
</span></span><span class="line"><span class="cl">3
</span></span><span class="line"><span class="cl">{4, 5, 6, 7, 8, 99, 45}
</span></span></code></pre></td></tr></table>
</div>
</div><div class="highlight"><div class="chroma">
<table class="lntable"><tr><td class="lntd">
<pre tabindex="0" class="chroma"><code><span class="lnt">1
</span><span class="lnt">2
</span></code></pre></td>
<td class="lntd">
<pre tabindex="0" class="chroma"><code class="language-python" data-lang="python"><span class="line"><span class="cl"><span class="n">my_set_1</span><span class="o">.</span><span class="n">discard</span><span class="p">(</span><span class="mi">6</span><span class="p">)</span>
</span></span><span class="line"><span class="cl"><span class="nb">print</span><span class="p">(</span><span class="n">my_set_1</span><span class="p">)</span>
</span></span></code></pre></td></tr></table>
</div>
</div><div class="highlight"><div class="chroma">
<table class="lntable"><tr><td class="lntd">
<pre tabindex="0" class="chroma"><code><span class="lnt">1
</span></code></pre></td>
<td class="lntd">
<pre tabindex="0" class="chroma"><code class="language-fallback" data-lang="fallback"><span class="line"><span class="cl">{4, 5, 7, 8, 99, 45}
</span></span></code></pre></td></tr></table>
</div>
</div><div class="highlight"><div class="chroma">
<table class="lntable"><tr><td class="lntd">
<pre tabindex="0" class="chroma"><code><span class="lnt">1
</span><span class="lnt">2
</span></code></pre></td>
<td class="lntd">
<pre tabindex="0" class="chroma"><code class="language-python" data-lang="python"><span class="line"><span class="cl"><span class="n">my_set_1</span><span class="o">.</span><span class="n">remove</span><span class="p">(</span><span class="mi">8</span><span class="p">)</span>
</span></span><span class="line"><span class="cl"><span class="nb">print</span><span class="p">(</span><span class="n">my_set_1</span><span class="p">)</span>
</span></span></code></pre></td></tr></table>
</div>
</div><div class="highlight"><div class="chroma">
<table class="lntable"><tr><td class="lntd">
<pre tabindex="0" class="chroma"><code><span class="lnt">1
</span></code></pre></td>
<td class="lntd">
<pre tabindex="0" class="chroma"><code class="language-fallback" data-lang="fallback"><span class="line"><span class="cl">{4, 5, 7, 99, 45}
</span></span></code></pre></td></tr></table>
</div>
</div><div class="highlight"><div class="chroma">
<table class="lntable"><tr><td class="lntd">
<pre tabindex="0" class="chroma"><code><span class="lnt">1
</span><span class="lnt">2
</span></code></pre></td>
<td class="lntd">
<pre tabindex="0" class="chroma"><code class="language-python" data-lang="python"><span class="line"><span class="cl"><span class="n">my_set_1</span><span class="o">.</span><span class="n">update</span><span class="p">([</span><span class="mi">8</span><span class="p">,</span> <span class="mi">15</span><span class="p">])</span>
</span></span><span class="line"><span class="cl"><span class="nb">print</span><span class="p">(</span><span class="n">my_set_1</span><span class="p">)</span>
</span></span></code></pre></td></tr></table>
</div>
</div><div class="highlight"><div class="chroma">
<table class="lntable"><tr><td class="lntd">
<pre tabindex="0" class="chroma"><code><span class="lnt">1
</span></code></pre></td>
<td class="lntd">
<pre tabindex="0" class="chroma"><code class="language-fallback" data-lang="fallback"><span class="line"><span class="cl">{4, 5, 7, 8, 99, 45, 15}
</span></span></code></pre></td></tr></table>
</div>
</div><div class="highlight"><div class="chroma">
<table class="lntable"><tr><td class="lntd">
<pre tabindex="0" class="chroma"><code><span class="lnt">1
</span><span class="lnt">2
</span><span class="lnt">3
</span><span class="lnt">4
</span></code></pre></td>
<td class="lntd">
<pre tabindex="0" class="chroma"><code class="language-python" data-lang="python"><span class="line"><span class="cl"><span class="c1"># 遍历</span>
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl"><span class="k">for</span> <span class="n">s</span> <span class="ow">in</span>  <span class="n">my_set_1</span><span class="p">:</span>
</span></span><span class="line"><span class="cl">    <span class="nb">print</span><span class="p">(</span><span class="n">s</span><span class="p">)</span>
</span></span></code></pre></td></tr></table>
</div>
</div><div class="highlight"><div class="chroma">
<table class="lntable"><tr><td class="lntd">
<pre tabindex="0" class="chroma"><code><span class="lnt">1
</span><span class="lnt">2
</span><span class="lnt">3
</span><span class="lnt">4
</span><span class="lnt">5
</span><span class="lnt">6
</span><span class="lnt">7
</span></code></pre></td>
<td class="lntd">
<pre tabindex="0" class="chroma"><code class="language-fallback" data-lang="fallback"><span class="line"><span class="cl">4
</span></span><span class="line"><span class="cl">5
</span></span><span class="line"><span class="cl">7
</span></span><span class="line"><span class="cl">8
</span></span><span class="line"><span class="cl">99
</span></span><span class="line"><span class="cl">45
</span></span><span class="line"><span class="cl">15
</span></span></code></pre></td></tr></table>
</div>
</div><div class="highlight"><div class="chroma">
<table class="lntable"><tr><td class="lntd">
<pre tabindex="0" class="chroma"><code><span class="lnt">1
</span><span class="lnt">2
</span><span class="lnt">3
</span><span class="lnt">4
</span><span class="lnt">5
</span><span class="lnt">6
</span></code></pre></td>
<td class="lntd">
<pre tabindex="0" class="chroma"><code class="language-python" data-lang="python"><span class="line"><span class="cl"><span class="c1"># 运算</span>
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl"><span class="nb">print</span><span class="p">(</span><span class="n">my_set_1</span> <span class="o">&amp;</span> <span class="n">my_set_2</span><span class="p">)</span>  <span class="c1"># 交集</span>
</span></span><span class="line"><span class="cl"><span class="nb">print</span><span class="p">(</span><span class="n">my_set_1</span> <span class="o">|</span> <span class="n">my_set_2</span><span class="p">)</span>  <span class="c1"># 并集</span>
</span></span><span class="line"><span class="cl"><span class="nb">print</span><span class="p">(</span><span class="n">my_set_1</span> <span class="o">-</span> <span class="n">my_set_2</span><span class="p">)</span>  <span class="c1"># 差集</span>
</span></span><span class="line"><span class="cl"><span class="nb">print</span><span class="p">(</span><span class="n">my_set_1</span> <span class="o">^</span> <span class="n">my_set_2</span><span class="p">)</span>  <span class="c1"># 对称差集</span>
</span></span></code></pre></td></tr></table>
</div>
</div><div class="highlight"><div class="chroma">
<table class="lntable"><tr><td class="lntd">
<pre tabindex="0" class="chroma"><code><span class="lnt">1
</span><span class="lnt">2
</span><span class="lnt">3
</span><span class="lnt">4
</span></code></pre></td>
<td class="lntd">
<pre tabindex="0" class="chroma"><code class="language-fallback" data-lang="fallback"><span class="line"><span class="cl">{8, 4, 5, 7}
</span></span><span class="line"><span class="cl">{0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 15, 99, 45}
</span></span><span class="line"><span class="cl">{99, 45, 15}
</span></span><span class="line"><span class="cl">{0, 1, 2, 3, 99, 6, 9, 45, 15}
</span></span></code></pre></td></tr></table>
</div>
</div><h3 id="元组">元组</h3>
<p>元组类似列表，但元组的元素是不可修改的</p>
<div class="highlight"><div class="chroma">
<table class="lntable"><tr><td class="lntd">
<pre tabindex="0" class="chroma"><code><span class="lnt">1
</span><span class="lnt">2
</span><span class="lnt">3
</span></code></pre></td>
<td class="lntd">
<pre tabindex="0" class="chroma"><code class="language-python" data-lang="python"><span class="line"><span class="cl"><span class="c1"># 创建</span>
</span></span><span class="line"><span class="cl"><span class="n">my_tuple</span> <span class="o">=</span> <span class="p">(</span><span class="s1">&#39;yjcps&#39;</span><span class="p">,</span> <span class="mi">123</span><span class="p">,</span> <span class="s1">&#39;hacper&#39;</span><span class="p">,</span> <span class="mi">55</span><span class="p">)</span>
</span></span><span class="line"><span class="cl"><span class="nb">print</span><span class="p">(</span><span class="n">my_tuple</span><span class="p">)</span>
</span></span></code></pre></td></tr></table>
</div>
</div><div class="highlight"><div class="chroma">
<table class="lntable"><tr><td class="lntd">
<pre tabindex="0" class="chroma"><code><span class="lnt">1
</span></code></pre></td>
<td class="lntd">
<pre tabindex="0" class="chroma"><code class="language-fallback" data-lang="fallback"><span class="line"><span class="cl">(&#39;yjcps&#39;, 123, &#39;hacper&#39;, 55)
</span></span></code></pre></td></tr></table>
</div>
</div><div class="highlight"><div class="chroma">
<table class="lntable"><tr><td class="lntd">
<pre tabindex="0" class="chroma"><code><span class="lnt">1
</span><span class="lnt">2
</span><span class="lnt">3
</span></code></pre></td>
<td class="lntd">
<pre tabindex="0" class="chroma"><code class="language-python" data-lang="python"><span class="line"><span class="cl"><span class="c1"># 访问</span>
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl"><span class="nb">print</span><span class="p">(</span><span class="n">my_tuple</span><span class="p">[</span><span class="mi">2</span><span class="p">])</span>
</span></span></code></pre></td></tr></table>
</div>
</div><div class="highlight"><div class="chroma">
<table class="lntable"><tr><td class="lntd">
<pre tabindex="0" class="chroma"><code><span class="lnt">1
</span></code></pre></td>
<td class="lntd">
<pre tabindex="0" class="chroma"><code class="language-fallback" data-lang="fallback"><span class="line"><span class="cl">hacper
</span></span></code></pre></td></tr></table>
</div>
</div><div class="highlight"><div class="chroma">
<table class="lntable"><tr><td class="lntd">
<pre tabindex="0" class="chroma"><code><span class="lnt">1
</span><span class="lnt">2
</span></code></pre></td>
<td class="lntd">
<pre tabindex="0" class="chroma"><code class="language-python" data-lang="python"><span class="line"><span class="cl"><span class="c1"># 不可修改</span>
</span></span><span class="line"><span class="cl"><span class="n">my_tuple</span><span class="p">[</span><span class="mi">1</span><span class="p">]</span> <span class="o">=</span> <span class="mi">456</span>
</span></span></code></pre></td></tr></table>
</div>
</div><div class="highlight"><div class="chroma">
<table class="lntable"><tr><td class="lntd">
<pre tabindex="0" class="chroma"><code><span class="lnt"> 1
</span><span class="lnt"> 2
</span><span class="lnt"> 3
</span><span class="lnt"> 4
</span><span class="lnt"> 5
</span><span class="lnt"> 6
</span><span class="lnt"> 7
</span><span class="lnt"> 8
</span><span class="lnt"> 9
</span><span class="lnt">10
</span></code></pre></td>
<td class="lntd">
<pre tabindex="0" class="chroma"><code class="language-fallback" data-lang="fallback"><span class="line"><span class="cl">---------------------------------------------------------------------------
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl">TypeError                                 Traceback (most recent call last)
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl">&lt;ipython-input-24-703d73c28b82&gt; in &lt;module&gt;()
</span></span><span class="line"><span class="cl">      1 # 不可修改
</span></span><span class="line"><span class="cl">----&gt; 2 my_tuple[1] = 456
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl">TypeError: &#39;tuple&#39; object does not support item assignment
</span></span></code></pre></td></tr></table>
</div>
</div><h3 id="字符串">字符串</h3>
<div class="highlight"><div class="chroma">
<table class="lntable"><tr><td class="lntd">
<pre tabindex="0" class="chroma"><code><span class="lnt"> 1
</span><span class="lnt"> 2
</span><span class="lnt"> 3
</span><span class="lnt"> 4
</span><span class="lnt"> 5
</span><span class="lnt"> 6
</span><span class="lnt"> 7
</span><span class="lnt"> 8
</span><span class="lnt"> 9
</span><span class="lnt">10
</span><span class="lnt">11
</span><span class="lnt">12
</span><span class="lnt">13
</span><span class="lnt">14
</span></code></pre></td>
<td class="lntd">
<pre tabindex="0" class="chroma"><code class="language-python" data-lang="python"><span class="line"><span class="cl"><span class="c1"># 创建字符串</span>
</span></span><span class="line"><span class="cl"><span class="n">text_1</span> <span class="o">=</span> <span class="s1">&#39;betty bought a bit of butter but the butter was bitter&#39;</span>
</span></span><span class="line"><span class="cl"><span class="n">text_2</span> <span class="o">=</span> <span class="s2">&#34;cat bat mat cat bat cat&#34;</span>
</span></span><span class="line"><span class="cl"><span class="n">text_3</span> <span class="o">=</span> <span class="s1">&#39;&#39;&#39;
</span></span></span><span class="line"><span class="cl"><span class="s1">    Beautiful is better than ugly.
</span></span></span><span class="line"><span class="cl"><span class="s1">    Explicit is better than implicit.
</span></span></span><span class="line"><span class="cl"><span class="s1">    Simple is better than complex.
</span></span></span><span class="line"><span class="cl"><span class="s1">    Complex is better than complicated.
</span></span></span><span class="line"><span class="cl"><span class="s1">    Flat is better than nested.
</span></span></span><span class="line"><span class="cl"><span class="s1">    Sparse is better than dense.
</span></span></span><span class="line"><span class="cl"><span class="s1">&#39;&#39;&#39;</span>
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl"><span class="c1"># 字符串长度</span>
</span></span><span class="line"><span class="cl"><span class="nb">print</span><span class="p">(</span><span class="nb">len</span><span class="p">(</span><span class="n">text_1</span><span class="p">),</span> <span class="nb">len</span><span class="p">(</span><span class="n">text_2</span><span class="p">),</span> <span class="nb">len</span><span class="p">(</span><span class="n">text_3</span><span class="p">))</span>
</span></span></code></pre></td></tr></table>
</div>
</div><div class="highlight"><div class="chroma">
<table class="lntable"><tr><td class="lntd">
<pre tabindex="0" class="chroma"><code><span class="lnt">1
</span></code></pre></td>
<td class="lntd">
<pre tabindex="0" class="chroma"><code class="language-fallback" data-lang="fallback"><span class="line"><span class="cl">54 23 214
</span></span></code></pre></td></tr></table>
</div>
</div><div class="highlight"><div class="chroma">
<table class="lntable"><tr><td class="lntd">
<pre tabindex="0" class="chroma"><code><span class="lnt">1
</span><span class="lnt">2
</span><span class="lnt">3
</span><span class="lnt">4
</span><span class="lnt">5
</span><span class="lnt">6
</span><span class="lnt">7
</span><span class="lnt">8
</span></code></pre></td>
<td class="lntd">
<pre tabindex="0" class="chroma"><code class="language-python" data-lang="python"><span class="line"><span class="cl"><span class="c1"># 首字母大写</span>
</span></span><span class="line"><span class="cl"><span class="nb">print</span><span class="p">(</span><span class="n">text_1</span><span class="o">.</span><span class="n">capitalize</span><span class="p">())</span>
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl"><span class="c1"># 全部转换为大写</span>
</span></span><span class="line"><span class="cl"><span class="nb">print</span><span class="p">(</span><span class="n">text_2</span><span class="o">.</span><span class="n">upper</span><span class="p">())</span>
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl"><span class="c1"># 全部转换为小写</span>
</span></span><span class="line"><span class="cl"><span class="nb">print</span><span class="p">(</span><span class="n">text_2</span><span class="o">.</span><span class="n">lower</span><span class="p">())</span>
</span></span></code></pre></td></tr></table>
</div>
</div><div class="highlight"><div class="chroma">
<table class="lntable"><tr><td class="lntd">
<pre tabindex="0" class="chroma"><code><span class="lnt">1
</span><span class="lnt">2
</span><span class="lnt">3
</span></code></pre></td>
<td class="lntd">
<pre tabindex="0" class="chroma"><code class="language-fallback" data-lang="fallback"><span class="line"><span class="cl">Betty bought a bit of butter but the butter was bitter
</span></span><span class="line"><span class="cl">CAT BAT MAT CAT BAT CAT
</span></span><span class="line"><span class="cl">cat bat mat cat bat cat
</span></span></code></pre></td></tr></table>
</div>
</div><div class="highlight"><div class="chroma">
<table class="lntable"><tr><td class="lntd">
<pre tabindex="0" class="chroma"><code><span class="lnt">1
</span><span class="lnt">2
</span><span class="lnt">3
</span></code></pre></td>
<td class="lntd">
<pre tabindex="0" class="chroma"><code class="language-python" data-lang="python"><span class="line"><span class="cl"><span class="c1"># 检查字符串的开头结尾</span>
</span></span><span class="line"><span class="cl"><span class="nb">print</span><span class="p">(</span><span class="n">text_2</span><span class="o">.</span><span class="n">startswith</span><span class="p">(</span><span class="s1">&#39;cat&#39;</span><span class="p">))</span>
</span></span><span class="line"><span class="cl"><span class="nb">print</span><span class="p">(</span><span class="n">text_2</span><span class="o">.</span><span class="n">endswith</span><span class="p">(</span><span class="s1">&#39;bat&#39;</span><span class="p">))</span>
</span></span></code></pre></td></tr></table>
</div>
</div><div class="highlight"><div class="chroma">
<table class="lntable"><tr><td class="lntd">
<pre tabindex="0" class="chroma"><code><span class="lnt">1
</span><span class="lnt">2
</span></code></pre></td>
<td class="lntd">
<pre tabindex="0" class="chroma"><code class="language-fallback" data-lang="fallback"><span class="line"><span class="cl">True
</span></span><span class="line"><span class="cl">False
</span></span></code></pre></td></tr></table>
</div>
</div><div class="highlight"><div class="chroma">
<table class="lntable"><tr><td class="lntd">
<pre tabindex="0" class="chroma"><code><span class="lnt">1
</span><span class="lnt">2
</span><span class="lnt">3
</span><span class="lnt">4
</span><span class="lnt">5
</span></code></pre></td>
<td class="lntd">
<pre tabindex="0" class="chroma"><code class="language-python" data-lang="python"><span class="line"><span class="cl"><span class="c1"># 切片，拼接</span>
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl"><span class="nb">print</span><span class="p">(</span><span class="n">text_3</span><span class="p">[</span><span class="mi">4</span><span class="p">:</span><span class="mi">35</span><span class="p">])</span>
</span></span><span class="line"><span class="cl"><span class="nb">print</span><span class="p">(</span><span class="n">text_3</span><span class="p">[</span><span class="o">-</span><span class="mi">130</span><span class="p">:</span><span class="o">-</span><span class="mi">108</span><span class="p">])</span>
</span></span><span class="line"><span class="cl"><span class="nb">print</span><span class="p">(</span><span class="n">text_3</span><span class="p">[</span><span class="mi">35</span><span class="p">:</span><span class="mi">4</span><span class="p">:</span><span class="o">-</span><span class="mi">1</span><span class="p">])</span>
</span></span></code></pre></td></tr></table>
</div>
</div><div class="highlight"><div class="chroma">
<table class="lntable"><tr><td class="lntd">
<pre tabindex="0" class="chroma"><code><span class="lnt">1
</span><span class="lnt">2
</span><span class="lnt">3
</span><span class="lnt">4
</span></code></pre></td>
<td class="lntd">
<pre tabindex="0" class="chroma"><code class="language-fallback" data-lang="fallback"><span class="line"><span class="cl"> Beautiful is better than ugly.
</span></span><span class="line"><span class="cl"> is better than comple
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl">.ylgu naht retteb si lufituaeB
</span></span></code></pre></td></tr></table>
</div>
</div><div class="highlight"><div class="chroma">
<table class="lntable"><tr><td class="lntd">
<pre tabindex="0" class="chroma"><code><span class="lnt">1
</span><span class="lnt">2
</span></code></pre></td>
<td class="lntd">
<pre tabindex="0" class="chroma"><code class="language-python" data-lang="python"><span class="line"><span class="cl"><span class="nb">print</span><span class="p">(</span><span class="n">text_1</span> <span class="o">+</span> <span class="n">text_2</span><span class="p">)</span>
</span></span><span class="line"><span class="cl"><span class="nb">print</span><span class="p">(</span><span class="s1">&#39;#&#39;</span><span class="o">.</span><span class="n">join</span><span class="p">(</span><span class="n">text_2</span><span class="p">))</span>
</span></span></code></pre></td></tr></table>
</div>
</div><div class="highlight"><div class="chroma">
<table class="lntable"><tr><td class="lntd">
<pre tabindex="0" class="chroma"><code><span class="lnt">1
</span><span class="lnt">2
</span></code></pre></td>
<td class="lntd">
<pre tabindex="0" class="chroma"><code class="language-fallback" data-lang="fallback"><span class="line"><span class="cl">betty bought a bit of butter but the butter was bittercat bat mat cat bat cat
</span></span><span class="line"><span class="cl">c#a#t# #b#a#t# #m#a#t# #c#a#t# #b#a#t# #c#a#t
</span></span></code></pre></td></tr></table>
</div>
</div><div class="highlight"><div class="chroma">
<table class="lntable"><tr><td class="lntd">
<pre tabindex="0" class="chroma"><code><span class="lnt">1
</span><span class="lnt">2
</span><span class="lnt">3
</span><span class="lnt">4
</span><span class="lnt">5
</span><span class="lnt">6
</span><span class="lnt">7
</span><span class="lnt">8
</span></code></pre></td>
<td class="lntd">
<pre tabindex="0" class="chroma"><code class="language-python" data-lang="python"><span class="line"><span class="cl"><span class="c1"># 分割</span>
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl"><span class="nb">print</span><span class="p">(</span><span class="n">text_2</span><span class="o">.</span><span class="n">split</span><span class="p">())</span>
</span></span><span class="line"><span class="cl"><span class="nb">print</span><span class="p">(</span><span class="s1">&#39;,&#39;</span><span class="o">.</span><span class="n">join</span><span class="p">(</span><span class="n">text_2</span><span class="o">.</span><span class="n">split</span><span class="p">()))</span> 
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl"><span class="nb">print</span><span class="p">()</span>
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl"><span class="nb">print</span><span class="p">(</span><span class="n">text_3</span><span class="o">.</span><span class="n">split</span><span class="p">(</span><span class="s1">&#39;.&#39;</span><span class="p">))</span>
</span></span></code></pre></td></tr></table>
</div>
</div><div class="highlight"><div class="chroma">
<table class="lntable"><tr><td class="lntd">
<pre tabindex="0" class="chroma"><code><span class="lnt">1
</span><span class="lnt">2
</span><span class="lnt">3
</span><span class="lnt">4
</span></code></pre></td>
<td class="lntd">
<pre tabindex="0" class="chroma"><code class="language-fallback" data-lang="fallback"><span class="line"><span class="cl">[&#39;cat&#39;, &#39;bat&#39;, &#39;mat&#39;, &#39;cat&#39;, &#39;bat&#39;, &#39;cat&#39;]
</span></span><span class="line"><span class="cl">cat,bat,mat,cat,bat,cat
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl">[&#39;\n    Beautiful is better than ugly&#39;, &#39;\n    Explicit is better than implicit&#39;, &#39;\n    Simple is better than complex&#39;, &#39;\n    Complex is better than complicated&#39;, &#39;\n    Flat is better than nested&#39;, &#39;\n    Sparse is better than dense&#39;, &#39;\n&#39;]
</span></span></code></pre></td></tr></table>
</div>
</div><div class="highlight"><div class="chroma">
<table class="lntable"><tr><td class="lntd">
<pre tabindex="0" class="chroma"><code><span class="lnt">1
</span><span class="lnt">2
</span><span class="lnt">3
</span></code></pre></td>
<td class="lntd">
<pre tabindex="0" class="chroma"><code class="language-python" data-lang="python"><span class="line"><span class="cl"><span class="c1"># 替换</span>
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl"><span class="nb">print</span><span class="p">(</span><span class="n">text_1</span><span class="o">.</span><span class="n">replace</span><span class="p">(</span><span class="s1">&#39;butter&#39;</span><span class="p">,</span> <span class="s1">&#39;hacper&#39;</span><span class="p">))</span>
</span></span></code></pre></td></tr></table>
</div>
</div><div class="highlight"><div class="chroma">
<table class="lntable"><tr><td class="lntd">
<pre tabindex="0" class="chroma"><code><span class="lnt">1
</span></code></pre></td>
<td class="lntd">
<pre tabindex="0" class="chroma"><code class="language-fallback" data-lang="fallback"><span class="line"><span class="cl">betty bought a bit of hacper but the hacper was bitter
</span></span></code></pre></td></tr></table>
</div>
</div><div class="highlight"><div class="chroma">
<table class="lntable"><tr><td class="lntd">
<pre tabindex="0" class="chroma"><code><span class="lnt">1
</span><span class="lnt">2
</span><span class="lnt">3
</span><span class="lnt">4
</span><span class="lnt">5
</span><span class="lnt">6
</span></code></pre></td>
<td class="lntd">
<pre tabindex="0" class="chroma"><code class="language-python" data-lang="python"><span class="line"><span class="cl"><span class="c1"># 去除首尾某些字符</span>
</span></span><span class="line"><span class="cl"><span class="n">text_4</span> <span class="o">=</span> <span class="s1">&#39;   123hello321   &#39;</span>
</span></span><span class="line"><span class="cl"><span class="nb">print</span><span class="p">(</span><span class="n">text_4</span><span class="o">.</span><span class="n">strip</span><span class="p">())</span> <span class="c1"># 空格</span>
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl"><span class="n">text_4</span> <span class="o">=</span> <span class="s1">&#39;****123hello321****&#39;</span>
</span></span><span class="line"><span class="cl"><span class="nb">print</span><span class="p">(</span><span class="n">text_4</span><span class="o">.</span><span class="n">strip</span><span class="p">(</span><span class="s1">&#39;*&#39;</span><span class="p">))</span> <span class="c1"># &#39;*&#39;</span>
</span></span></code></pre></td></tr></table>
</div>
</div><div class="highlight"><div class="chroma">
<table class="lntable"><tr><td class="lntd">
<pre tabindex="0" class="chroma"><code><span class="lnt">1
</span><span class="lnt">2
</span></code></pre></td>
<td class="lntd">
<pre tabindex="0" class="chroma"><code class="language-fallback" data-lang="fallback"><span class="line"><span class="cl">123hello321
</span></span><span class="line"><span class="cl">123hello321
</span></span></code></pre></td></tr></table>
</div>
</div><hr>
<h2 id="da-series---learn-python-with-steem">[DA series - Learn Python with Steem]</h2>
<ul>
<li><a href="https://busy.org/@deanliu/da-series-learn-python-with-steem-01-python">[DA series - Learn Python with Steem #01] 安裝Python、文字編輯器與哈囉！</a></li>
<li><a href="https://busy.org/@deanliu/da-series-learn-python-with-steem-02">[DA series - Learn Python with Steem #02] 變數與資料型態</a></li>
<li><a href="https://busy.org/@deanliu/da-series-learn-python-with-steem-03">[DA series - Learn Python with Steem #03] 邏輯判斷</a></li>
<li><a href="https://busy.org/@deanliu/da-series-learn-python-with-steem-04">[DA series - Learn Python with Steem #04] 迴圈</a></li>
<li><a href="https://busy.org/@yjcps/learnpythonwithsteem05-n09ajzsh91">[DA series - Learn Python with Steem #05] 基本資料結構</a></li>
</ul>
<h2 id="我的笔记">我的笔记：</h2>
<ul>
<li><a href="https://busy.org/@yjcps/learn-python-with-steem-01">Learn Python with Steem #01 笔记</a></li>
<li><a href="https://busy.org/@yjcps/learnpythonwithsteem02-2ilwe1ti59">Learn Python with Steem #02 笔记</a></li>
<li><a href="https://busy.org/@yjcps/learnpythonwithsteem03-l5w15fszh9">Learn Python with Steem #03 笔记</a></li>
<li><a href="https://busy.org/@yjcps/learnpythonwithsteem04-0d8jly8ypt">Learn Python with Steem #04 笔记</a></li>
<li><a href="https://busy.org/@yjcps/learnpythonwithsteem05-n09ajzsh91">Learn Python with Steem #05 笔记</a></li>
</ul>
]]></content:encoded>
    </item>
  </channel>
</rss>
