Python:拆分并重新生成字符串

Python:拆分并重新生成字符串,python,Python,我想在给定字符串的3个字符后加“---”,在接下来的3个字符后加“---” 例如,如果给定的字符串是'ABCDEFGHIJKLMNOPQR',则输出为 'ABC--DEF--GHI--JKL--MNO--PQR' def addpattern(string): result = ' --- '.join(string[i:i+3] for i in range(0,len(string),3)) return result 这个代码打印出来像 ABC---DEF---GHI--

我想在给定字符串的3个字符后加“---”,在接下来的3个字符后加“---”

例如,如果给定的字符串是
'ABCDEFGHIJKLMNOPQR'
,则输出为
'ABC--DEF--GHI--JKL--MNO--PQR'

def addpattern(string):
    result = ' --- '.join(string[i:i+3] for i in range(0,len(string),3))
    return result
这个代码打印出来像
ABC---DEF---GHI---JKL---MNO---PQR

但是我想改变,比如ABC--DEF--GHI--JKL--MNO--PQR

感谢您的帮助。

def addpattern(字符串):
ret=“”
分组=[string[i:i+3]表示范围内的i(0,len(string),3)]
对于索引,枚举中的值(分组):
ret+=值
如果索引!=len(分组)-1:
如果索引%2:
ret+=“--”
其他:
ret+=“--”

通常使用
str.join
是一个好主意,但在这种情况下它太有限了。for循环在这里更有效。

如果它是3和6的倍数呢?如果它是3的倍数,但不是6的倍数,那么只插入“---”字母表的数字除以6的倍数意味着什么。试着说得更清楚一点,如果alpabet的数字是6的倍数,那么插入“---”你所说的“数字”到底是什么意思?整个字符串的长度,还是字符串中字符的位置?