python元組操作執行個體解析

來源:互聯網
上載者:User
本文執行個體講述了python元組操作方法,分享給大家供大家參考。具體分析如下:

一般來說,python的函數用法挺靈活的,和c、php的用法不太一樣,和js倒是挺像的。

在照著操作時,可以發現一個很神奇的現象:

>>> t = (1, 3, 'b')>>> q = t + ((3, 'abc'))>>> q(1, 3, 'b', 3, 'abc')

這裡我預料的應該是(1, 3, 'b', (3, 'abc')),但是結果卻是(1, 3, 'b', 3, 'abc'),剛開始我猜測python是把所有的元素都提取出來重新按原順序組合。然後我又試了一下:

>>> q = t + ((3, 'abc'), '3')>>> q(1, 3, 'b', (3, 'abc'), '3')

看來猜測錯了,那為什麼q = t + ((3, 'abc'))就把元組拆分了呢,我又試了一下:

>>> q = t + ((3, 'abc', ('a')))>>> q(1, 3, 'b', 3, 'abc', 'a')

python又把元素裡的元組裡的('a')去掉了(),為了驗證我的想法,我進一步測試:

>>> q = t + ((3, 'abc', ('a', 'ab')))>>> q(1, 3, 'b', 3, 'abc', ('a', 'ab'))

看來結果已經很明了了,在對元組進行+操作時,python會自動對被加的元組進行解析,在保持原元組結構的前提下,把它解析成最簡單的元組進行相加,即把只有單一元素的多重元組去括弧。
那麼,如果我不想讓python在+操作時把()去掉呢,那麼這樣操作就行了:

>>> q = t + ((3, 'abc'),)>>> q(1, 3, 'b', (3, 'abc'))

希望本文所述對大家Python程式設計的學習有所協助。

  • 聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

    如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.