从另一个字符串中减去一个字符串

2024-09-28 23:40:03 发布

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

我正在尝试从另一个字符串中减去一个字符串,并尝试打印该字符串的其余字符。以下是我的代码:

def getAvailableLetters(lettersGuessed):
    s="abcdefghijklmnopqrstuvwxyz"
    k=list(s)
    str1=lettersGuessed
    str2=list(str1)
    if str2[0] in k:
        return k.remove(str2[0])
    else:
        return getAvailableLetters(lettersGuessed[1:])

使用递归,但没有得到答案。想知道出了什么问题或者更好的方法。在


Tags: 字符串代码inreturnifdef字符else
3条回答

试试这个:

s1='aabbccdd'
s2='abce'

l1=list(s1)
for c in s2:             # c will be each character of the string s2...
    try:
       l1.remove(c)      # try to remove the character...
    except ValueError:   
        # Open question: What if the character in c is not in s1?
        # not specified what 'abc'-'aaa' is or 'abc'-'ace'...
        # just pass -- it is not really defined  
        pass

print '{}-{}={}'.format(s1,s2,''.join(l1))
# aabbccdd-abce=abcdd

使用difference()方法sets

str1="sdfjhasdklfd"
str2="sdfjkfdgpoel"

k1=set(str1)
k2=set(str2)

print (k1.difference(k2))

先把它们转换成一组,然后找出它们之间的差别。在

这很简单。使用集合:

import string
def getAvailableLetters(lettersGuessed):
    return set(string.ascii_lowercase) - set(lettersGuessed.lower())

相关问题 更多 >