如何将自定义定界符添加到列表但仅在特定位置?

How to add custom delimiter to a list but only at a particular position?

下面给出了我想要实现的目标。

我有一个列表

lst = [word1, word2, word3#word4, word5].

在第三个元素中,有一个“#”,所以我想拆分该字符串,使结果列表如下所示:

lst = [word1, word2, word3 # word4, word5].

所有其他单词均由 , 分隔,但此单词由 # 拆分和分隔。

是否有任何内置函数或实现方法?任何帮助表示赞赏。谢谢。

你看到的分隔符其实是在你输出列表的时候加上的,python到时候会把列表转成字符串

因此,如果要“自定义分隔符”,则必须修改“将列表转为字符串”功能,实际上是List.__repr__(),只需在此添加猴子补丁即可功能,你可以在那里做任何你想做的事。

这是一个以给定格式打印它的函数:

def printList(last):
    
    for x in last:

        if '#' in x:
            x = x.split('#')
            print(*x, sep='#',end=',')
        
         else:
            print(x, end=',')
    
    
lst = ['word1', 'word2', 'word3#word4', 'word5']
printList(lst)