<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                企業??AI智能體構建引擎,智能編排和調試,一鍵部署,支持知識庫和私有化部署方案 廣告
                # 3.7.?連接 list 與分割字符串 * 3.7.1\. 字符串方法的歷史注解 您有了一個形如 `_key_=_value_` 的 key-value 對 list,并且想將它們合成為單個字符串。為了將任意包含字符串的 list 連接成單個字符串,可以使用字符串對象的 `join` 方法。 下面是一個在 `buildConnectionString` 函數中連接 list 的例子: ``` return ";".join(["%s=%s" % (k, v) for k, v in params.items()]) ``` 在我們繼續之前有一個有趣的地方。我一直在重復函數是對象,字符串是對象,每個東西都是對象的概念。您也許認為我的意思是說字符串_值_ 是對象。但是不對,仔細地看一下這個例子,您將會看到字符串 `";"` 本身就是一個對象,您在調用它的 `join` 方法。 總之,這里的 `join` 方法將 list 中的元素連接成單個字符串,每個元素用一個分號隔開。分隔符不必是一個分號;它甚至不必是單個字符。它可以是任何字符串。 > 小心 > `join` 只能用于元素是字符串的 list;它不進行任何的強制類型轉換。連接一個存在一個或多個非字符串元素的 list 將引發一個異常。 ## 例?3.27.?`odbchelper.py` 的輸出結果 ``` >>> params = {"server":"mpilgrim", "database":"master", "uid":"sa", "pwd":"secret"} >>> ["%s=%s" % (k, v) for k, v in params.items()] ['server=mpilgrim', 'uid=sa', 'database=master', 'pwd=secret'] >>> ";".join(["%s=%s" % (k, v) for k, v in params.items()]) 'server=mpilgrim;uid=sa;database=master;pwd=secret' ``` 上面的字符串是從 `odbchelper` 函數返回的,被調用塊打印出來,這樣就給出了您開始閱讀本章時令人感到吃驚的輸出結果。 您可能在想是否存在一個適當的方法來將字符串分割成一個 list。當然有,它叫做 `split`。 ## 例?3.28.?分割字符串 ``` >>> li = ['server=mpilgrim', 'uid=sa', 'database=master', 'pwd=secret'] >>> s = ";".join(li) >>> s 'server=mpilgrim;uid=sa;database=master;pwd=secret' >>> s.split(";") ['server=mpilgrim', 'uid=sa', 'database=master', 'pwd=secret'] >>> s.split(";", 1) ['server=mpilgrim', 'uid=sa;database=master;pwd=secret'] ``` | | | | --- | --- | | \[1\] | `split` 與 `join` 正好相反,它將一個字符串分割成多元素 list。注意,分隔符 (“`;`”) 被完全去掉了,它沒有在返回的 list 中的任意元素中出現。 | | \[2\] | `split` 接受一個可選的第二個參數,它是要分割的次數。(“哦,可選參數……”,您將會在下一章中學會如何在您自己的函數中使用它。) | > 提示 > `_anystring_.`split`(_delimiter_, 1)` 是一個有用的技術,在您想要搜索一個子串,然后分別處理字符前半部分 (即 list 中第一個元素) 和后半部分 (即 list 中第二個元素) 時,使用這個技術。 ## 進一步閱讀 * Python Knowledge Base 回答了[關于字符串的常見問題](http://www.faqts.com/knowledge-base/index.phtml/fid/480),并且有許多[使用字符串的例子代碼](http://www.faqts.com/knowledge-base/index.phtml/fid/539)。 * _Python Library Reference_ 總結了[所有字符串方法](http://www.python.org/doc/current/lib/string-methods.html)。 * _Python Library Reference_ 提供了 [`string` 模塊](http://www.python.org/doc/current/lib/module-string.html)的文檔。 * _The Whole Python FAQ_ 解釋了[為什么 `join` 是字符串方法](http://www.python.org/cgi-bin/faqw.py?query=4.96&querytype=simple&casefold=yes&req=search)而不是 list 方法。 ## 3.7.1.?字符串方法的歷史注解 當我開始學 Python 時,我以為 `join` 是 list 的方法,它會使用分隔符作為一個參數。很多人都有同樣的感覺:在 `join` 方法的背后有一段故事。在 Python 1.6 之前,字符串完全沒有這些有用的方法。有一個獨立的 `string` 模塊包含所有的字符串函數,每個函數使用一個字符串作為它的第一個參數。這些函數被認為足夠重要,所以它們移到字符串中去了,這就使得諸如 `lower`、`upper` 和 `split` 之類的函數是有意義的。但許多核心的 Python 程序員反對新的 `join` 方法,爭論說應該換成是 list 的一個方法,或不應該移動而僅僅保留為舊的 `string` 模塊 (現仍然還有許多有用的東西在里面) 的一部分。我只使用新的 `join` 方法,但是您還是會看到其它寫法。如果它真的使您感到麻煩,您可以使用舊的 `string.join` 函數來替代。
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看