python元組操作


今天抽空學習python,對python的元組、列表、字典,參考地址:http://yangsq.iteye.com/blog/128508

感覺python的函數用法挺靈活的,和cphp的用法不太一樣,和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'))

 

from:http://blog.chinaunix.net/uid-14691740-id-3058463.html


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM