Python集 |检查给定字符串是否为 Heterogram
给定一个由小写字符组成的字符串S 。任务是检查给定的字符串是否是 Heterogram。异形是一个单词、短语或句子,其中字母表中的字母不超过一次。
例子:
Input : S = "the big dwarf only jumps"
Output : Yes
Each alphabet in the string S is occurred
only once.
Input : S = "geeksforgeeks"
Output : No
Since alphabet 'g', 'e', 'k', 's' occurred
more than once.
我们有解决此问题的现有解决方案,请参阅检查给定字符串是否为 Heterogram 链接。我们可以在Python中使用 Set 数据结构快速解决这个问题。方法很简单,
- 要检查句子是否是异形,我们只关心字母而不是任何其他字符,因此我们分离出句子中存在的所有字母的列表。
- 将字母列表转换为集合,因为集合包含唯一值,如果集合的长度等于字母的数量,这意味着每个字母出现一次,则句子是异形,否则不是。
# Function to Check whether a given string is Heterogram or not
def heterogram(input):
# separate out list of alphabets using list comprehension
# ord function returns ascii value of character
alphabets = [ ch for ch in input if ( ord(ch) >= ord('a') and ord(ch) <= ord('z') )]
# convert list of alphabets into set and
# compare lengths
if len(set(alphabets))==len(alphabets):
print ('Yes')
else:
print ('No')
# Driver program
if __name__ == "__main__":
input = 'the big dwarf only jumps'
heterogram(input)
输出:
Yes