当前位置:  开发笔记 > 编程语言 > 正文

用于比较2个字符串中元音的存在的功能

如何解决《用于比较2个字符串中元音的存在的功能》经验,为你挑选了1个好方法。

我写了一个比较2个字符串的函数脚本,并告诉我们是否有相同的元音(种类和数字).

例如:

sameVowels('aabcefiok','xcexvcxaioa') should return `true`

sameVowels('aabcefiok','xcexvcxaioia')应该返回false

这是我基于列表的尝试.它不能很好地工作,我不知道为什么; 在这个具体的例子中,它返回true两者.

def sameVowels(s1, s2):
L1=[]
L2=[]
L_vowles=['a','e','i', 'o','u','A','E','I','O', 'U'] #dont know how to use str.upper/lower on lists...

for i in s1:
    if i in L_vowles:
        L1.append(i)
for i in s2:
    if i in L_vowles:
        L2.append(i)


for i in L1:
    L1.count(i)

for i in L2:
    L2.count(i)

return L1.count(i)== L2.count(i)

如你所见,我创建了一些愚蠢的列表--L_vowels ......

我想过使用,sets但我认为它不会有用,因为我不能用它进行任何计数.

我的尝试怎么了?

    通过使用解决它的任何想法dictionary

谢谢!



1> Caridorc..:

只需使用生成器表达式并排序:

def vowels(x):
    return (i for i in x if i.lower() in "aeiou")

def same_vowels(a, b):
    return sorted(vowels(a)) == sorted(vowels(b))

推荐阅读
臭小子
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有