Python每日一練0002

2021-09-13 22:33:49 字數 1584 閱讀 4568

如何序列化輸出元素包含字串元組的字串元組(好繞)

舉個例子

>>> zoo1 = ('monkey', 'elephant')

>>> zoo2 = ('python', zoo1)

將zoo2輸出為python, monkey, elephant容易想到使用join()函式,但join()函式要求元素必須都是字串型別,否則會丟擲typeerror錯誤

>>> zoo1 = ('monkey', 'elephant')

>>> zoo2 = ('python', zoo1)

>>> print(', '.join(zoo2))

traceback (most recent call last):

file "", line 1, in typeerror: sequence item 1: expected str instance, tuple found

乙個比較簡單的方法是將zoo1給unpack進zoo2中,然後再將zoo2給unpack進print函式,最後指定print函式的sep引數來輸出

>>> zoo1 = ('monkey', 'elephant')

>>> zoo2 = ('python', *zoo1)

>>> print(*zoo2, sep=', ')

python, monkey, elephant

如果想要將結果儲存起來,那麼使用join就可以了

>>> zoo1 = ('monkey', 'elephant')

>>> zoo2 = ('python', *zoo1)

>>> s = ', '.join(zoo2)

>>> print(s)

python, monkey, elephant

上面的方法僅僅是針對於特定的情況,那麼對於乙個多重巢狀的元組該如何處理呢

容易想到使用遞迴來實現,判斷當前元素的型別來決定是否結束遞迴即可

下面是乙個簡單的實現方法

Python每日一練0002

如何序列化輸出元素包含字串元組的字串元組 好繞 舉個例子 zoo1 monkey elephant zoo2 python zoo1 將zoo2輸出為python,monkey,elephant容易想到使用join 函式,但join 函式要求元素必須都是字串型別,否則會丟擲typeerror錯誤 z...

python每日一練

人生苦短,我用python 2018.6.5 有個目錄,裡面是你自己寫過的程式,統計一下你寫過多少行 包括空行和注釋,但是要分別列出來 coding utf 8 import re import glob defcodecolletion path filelist glob.glob path p...

Python每日一練

人生苦短,我用python 2018.6.13 最近事情有點多,有幾天沒寫了,正好最近需要統計一下各組排名,也就拿python代替手工了 各組給出其他組的排名,統計每個組最終的得分,第一名為0.5,第二名0.4,以此類推。coding utf 8 groups 3,2,5,4,6 1,3,5,6,4...