如何在没有高级集合的情况下删除某封信的所有引用?(Python)

如何在没有高级集合的情况下删除某封信的所有引用?(Python),python,Python,我已经在这段代码上工作了一段时间,但我似乎无法理解它。我们不允许使用拼接、.find()、.count()或.replace()。我必须使用for循环,但似乎找不到解决方案。 当前代码如下所示: def removeChar(word1, letter1): s1 ='' length = len(word1) for i in range(length): if (letter1 in word1[i]): s1 = word1[

我已经在这段代码上工作了一段时间,但我似乎无法理解它。我们不允许使用拼接、.find()、.count()或.replace()。我必须使用for循环,但似乎找不到解决方案。 当前代码如下所示:

def removeChar(word1, letter1):
    s1 =''
    length = len(word1)
    for i in range(length):
        if (letter1 in word1[i]):
            s1 = word1[i] 
    return s1

word = "let's remove some letters from this string"
letter = 's'

print(''.join(word.split(letter)))

任何帮助都将不胜感激,谢谢。

您必须遍历字符串。每当遇到一个不是要排除的字母时,请将其添加到新字符串中。如果是,忽略它。迭代结束后,返回新字符串

def removeChar(word1, letter1):
    new_string = ''
    for letter in word1:
        if (letter != letter1):
            new_string += letter
    return new_string
例子
简单到可以在一行中完成:

new_word = ''.join(char for char in word if char != letter)
试试这个

s1.extend([word[i]]))

此代码将向s1添加一个单词字母。目前,您的代码将所有s1设置为单词的一个字母

最短的方法是使用如下内容:

def removeChar(word1, letter1):
    s1 =''
    length = len(word1)
    for i in range(length):
        if (letter1 in word1[i]):
            s1 = word1[i] 
    return s1

word = "let's remove some letters from this string"
letter = 's'

print(''.join(word.split(letter)))
说明:

  • 拆分(字母)
    将使用字母作为分隔符将输入字符串拆分为字符串列表
  • 然后使用
    '.join
    连接此列表的所有元素,这将生成不带字符
    字母的字符串
    
  • split
    join
    是对字符串的基本操作
输出:

python remove_letter.py
let' remove ome letter from thi tring

非常感谢你。。。一点也不明白。回答得好!无法通过高级集合功能获取OP所说的内容;-)