【问题标题】:python, delete common characters from two stringspython,删除两个字符串中的公共字符
【发布时间】:2023-02-16 15:15:50
【问题描述】:

假设有两个字符串 stringA 和 stringB (len(stringA)>len(stringB)),我如何从 stringA 中删除 stringB 中存在的所有字符?假设 stringB 中的所有字符都出现在 stringA 中

这是我尝试过的:

a=input()
b=input()

for i in range(len(b)):
    if b[i] not in a:
        a.remove(b[i])

我希望它能从 A 中删除字符,但导致错误,我是 python 的初学者,我不知道我应该在这里使用哪种其他方法或方法

【问题讨论】:

  • 我认为 Python 中的字符串是不可变的——您无法更改它们。更好的办法是先将它们转换为列表、元组或集合,这样你就可以使用一些集合差异操作。

标签: python string


【解决方案1】:

使用 B 的 set 提高效率并循环遍历 A 的所有字符以过滤和 join 它们:

s = set(B)
out = ''.join([c for c in A if not c in s])

【讨论】:

    【解决方案2】:

    这是一个如何使用列表推导来做到这一点的示例:

    stringA = input()
    stringB = input()
    
    result = ''.join([char for char in stringA if char not in stringB])
    print(result)
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2023-03-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-09-13
      相关资源
      最近更新 更多