簡體   English   中英

如何將元組深加入字符串

[英]How to deep join a tuple into a string

我想將元組轉換為以分號分隔的字符串。 簡單。

tup = (1,2)
';'.join(map(str,tup))

輸出:

'1;2'

但是,如果其中一個元組條目本身就是一個元組,我將得到以下內容:

'1;(2, 3)'

我不需要逗號,我需要分號,並且我也想選擇括號字符。

我要這個:

'1;{2;3}'

有沒有一種簡單的方法可以深度連接嵌套到任意深度的元組的元組,同時指定分隔符(示例中的';'和上例中的括號(示例中的'{'和'}')?

請注意,我希望這樣做,此問題被標記為以下項的重復項:

'1,2,3'

我還需要處理帶逗號的字符串,所以我不能使用replace

flatten((1,('2,3',4)))
'1;{2,3;4}'

遞歸救援!

def jointuple(tpl, sep=";", lbr="{", rbr="}"):
    return sep.join(lbr + jointuple(x) + rbr if isinstance(x, tuple) else str(x) for x in tpl)

用法:

>>> jointuple((1,('2,3',4)))
'1;{2,3;4}'

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM