[英]rearrange random string to consonant vowel consonant vowel order in python
擁有諸如asftiopeiopv
類的隨機字符串,如何按照模式輔音-元音-輔音-元音-輔音以單詞的方式重新排列?
在這種情況下,它將例如變成safitopepivo
。
並且還可以包含與元音級別相同的數字。 例如,具有隨機字符串asft1op41opv
,它將變成saf1top4p1vo
。
可能有一種更有效的方法,但這應該輸出預期的結果:
string = "asft1op41opv"
convertedString = ""
p = re.compile('[aeiou0-9]')
vowelsAndNumbers = p.findall(string)
string = p.sub("",string)
i = 0
for c in string:
convertedString += c + ''.join(vowelsAndNumbers[i:i+1])
i+=1
# if remaining vowels, add to convertedString
convertedString += ''.join(vowelsAndNumbers[i:])
print convertedString
from itertools import chain, zip_longest
char_list = 'asftiopeiopv'
vowels_and_numbers = 'aeiou0123456789'
vowels, consts = [], []
for c in char_list:
if c in vowels_and_numbers:
vowels.append(c)
else:
consts.append(c)
print(''.join([c for c in chain(*zip_longest(consts, vowels)) if c]))
con
和vow
random.shuffle
) [con[0], vow[0], con[1], ...]
)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.