字符串和整数组合中缺少字符

2024-05-15 19:45:34 发布

您现在位置:Python中文网/ 问答频道 /正文

到目前为止,我已经创建了一个返回缺少的字符串的函数。我们可以把它和整数混合吗?例如:

输入:"3629aghrjlsbwofhe"

输出:"014578bcdikmnpqtuvxyz"

字母字符串的当前代码:

def missingCharacters(Str):
    
    MAX_CHAR = 26
    
    x = [False for i in range(MAX_CHAR)]
    

    for i in range(len(Str)):
        if (Str[i] >= 'a' and Str[i] <= 'z'):
            x[ord(Str[i]) - ord('a')] = True
        
    result = ""
 
    for i in range(MAX_CHAR):
        if (x[i] == False):
          result += chr(i + ord('a'))
        
    return result

Tags: 函数字符串代码infalseforif字母
1条回答
网友
1楼 · 发布于 2024-05-15 19:45:34

可以使用一些stringutils和条件生成器表达式执行以下操作:

from string import digits, ascii_lowercase

def missingCharacters(s):
    # if s is long, this will make the repeated membership test O(1)
    # s = set(s)   
    return "".join(c for c in digits + ascii_lowercase if c not in s)

missingCharacters("3629aghrjlsbwofhe")
# '014578cdikmnpqtuvxyz'

相关问题 更多 >