簡體   English   中英

在python中將隨機字符串重新排列為輔音元音

[英]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]))
  • 將輸入分為兩個列表,例如convow
  • 隨機排序每個列表(使用random.shuffle
  • 加入兩個列表( [con[0], vow[0], con[1], ...]

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM