在python中重新排列随机字符串为辅音元音辅音元音顺序

时间:2017-04-04 10:06:23

标签: python string algorithm sorting

有一个随机字符串,例如asftiopeiopv,如何在一个单词中重新排列它后面的模式辅音 - 元音 - 辅音 - 元音 - 辅音?

在这种情况下,它会变成safitopepivo

还可以包含与元音具有相同级别的数字。例如,随机字符串asft1op41opv将变为saf1top4p1vo

3 个答案:

答案 0 :(得分:1)

可能有一种更有效的方法,但这应该输出预期的结果:

<key>NSCameraUsageDescription</key>
<string>This app requires camera access to function properly.</string>
<key>NSPhotoLibraryUsageDescription</key>
<string>This app requires photo library access to function properly</string>

答案 1 :(得分:1)

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]))

答案 2 :(得分:0)

  • 将输入分为两个列表,例如convow
  • 随机对每个列表进行排序(使用random.shuffle
  • 加入两个列表([con[0], vow[0], con[1], ...]