Skip to main content
 首页 » 编程设计

python之创建一个仅包含原始短语中第一次出现的字母的函数

2025年05月04日12oomusou

该函数需要按以下方式运行:

出现的第一个字母可以是大写或小写 (newPhrase)。 非字母字符 - 保持不变。

目前我想到的是:

def keepFirstLetter(phrase): 
'''Returns a new string that contains only the first occurrence of a  
letter from the original phrase.  
 
    letterSeenSoFar = '' 
    newPhrase = '' 
    if (letterSeenSoFar == '' or letterSeenSoFar[-1] != letterSeenSoFar): 
         letterSeenSoFar += c 
    for letter in letterSeenSoFar: 
        if letter.isalpha: 
            newPhrase += char 
        else: 
            newPhrase += letter 
    return newPhrase 

请您参考如下方法:

您似乎走在正确的轨道上。如果您想提高效率,可以将看到的字母存储为一组。搜索一个集合是 O(1)。

def unique_first(s): 
    letters = set() 
    out = '' 
    for x in s: 
        if not x.isalpha(): 
            out += x 
            continue 
        if not x.lower() in letters: 
            out += x 
            letters.add(x.lower()) 
    return out