📌  相关文章
📜  Python集 |检查给定字符串是否为 Heterogram

📅  最后修改于: 2022-05-13 01:55:20.733000             🧑  作者: Mango

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 数据结构快速解决这个问题。方法很简单,

  1. 要检查句子是否是异形,我们只关心字母而不是任何其他字符,因此我们分离出句子中存在的所有字母的列表。
  2. 将字母列表转换为集合,因为集合包含唯一值,如果集合的长度等于字母的数量,这意味着每个字母出现一次,则句子是异形,否则不是。
# 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