Python从另一个字符串列表中减去字符串列表

标签 python string list list-comprehension

<分区>

我想减去一个字符串列表,其中有多个相同的元素(因此集合操作没有用)。

例子:

C = ['A','B','B']
D = ['B']

我想要一种方法来做到这一点:

C - D = ['A','B']

到目前为止我得到的例子,但没有给出我想要的结果

[item for item in C if item not in D]
returns: ['A']

这里有一个更详细的例子来展示我想要的:

C = ['A','B', 'A','A','B','B','B','X','B']

D = ['A','B','B','Y']

这就是我想要的结果:

C - D = ['A', 'A', 'B', 'B','B','X']

最佳答案

不使用任何库:

output = [x for x in C if not x in D or D.remove(x)]

//output: ['A', 'B']

关于Python从另一个字符串列表中减去字符串列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55013992/

相关文章:

python - 谷歌应用程序引擎启动器上的应用程序错误

python - 类型错误 : "not supported between instances of ' str' and 'float"?

python - 从python中的随机列表中选择时出错

list - 连接两个列表 - '+=' 和 extend() 之间的区别

python - 在python中将列表写入csv

python - 变形金刚 : Asking to pad but the tokenizer does not have a padding token

java - Jenkins Gradle构建字符串参数未传递给Java代码

c# - 为什么字符串是引用类型,但行为却与其他引用类型不同?

python - 在Python中的单词列表中搜索带有in运算符的子字符串

list - 如何对结构列表中的数字求和? ( Racket )