我有一个字符串,它包含随机的字母和数字,但是如果有两个字母或数字是相同的并且相邻,那么你必须用"/"
来分隔它们。所以输入字符串是"uBBjkko"
,结果应该是"uB/Bjk/ko"
。你知道吗
现在,我已将字符串转换为list,以便将每个元素与下一个元素进行比较:
mylist ['u', 'B', 'B', 'j', 'k', 'k', 'o']
for i in range(len(mylist)):
if mylist[i] == mylist[i + 1]:
mylist.insert(i + 1, "/")
print("".join(mylist))
但是,如果列表太长,并且列表以两个相同的字母或数字结尾,例如
['u', 'B', 'B', 'j', 'k', 'k', 'o', '2', '2']
然后输出将是"uB/Bjk/ko22"
,但它需要是"uB/Bjk/ko2/2"
。你知道吗
正如我在评论中所说的,问题是,在迭代时插入。通过从一开始到另一个方向的迭代,你可以修复它。这样您的迭代就不会受到插入的影响:
虽然可能有点多,但您可以了解
itertools
模块。zip
函数或zip_longest
函数。你知道吗相关问题 更多 >
编程相关推荐