gpt4 book ai didi

Python - 如何将字符串中的字符乘以字符后的数字

转载 作者:太空狗 更新时间:2023-10-29 21:30:32 25 4
gpt4 key购买 nike

标题,例如我想把'A3G3A'变成'AAAGGGA'。到目前为止我有这个:

if any(i.isdigit() for i in string):
for i in range(0, len(string)):
if string[i].isdigit():
(i am lost after this)

最佳答案

这是一个简单的方法:

string = 'A3G3A'

expanded = ''

for character in string:
if character.isdigit():
expanded += expanded[-1] * (int(character) - 1)
else:
expanded += character

print(expanded)

输出:AAAGGGA

它假定有效输入。它的局限性在于重复因子必须是一位数,例如2 - 9. 如果我们希望重复因子大于 9,我们必须对字符串进行稍微多一些的解析:

from itertools import groupby

groups = groupby('DA10G3ABC', str.isdigit)

expanded = []

for is_numeric, characters in groups:

if is_numeric:
expanded.append(expanded[-1] * (int(''.join(characters)) - 1))
else:
expanded.extend(characters)

print(''.join(expanded))

输出:DAAAAAAAAAAGGGABC

关于Python - 如何将字符串中的字符乘以字符后的数字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47246668/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com