python 如何简单地对比两个字符串,并输出差异部分?

代码为

import os
for root, dirs, files in os.walk('F:\Files\原数据文件夹'):#获取一组字符串
    A = files
    A =str(A).replace('.docx','')#统一格式
    print(A) #输出第一组字符串
for root, dirs, files in os.walk('F:\Files\比对文件夹'):#获取第二组字符串
    B= files
    B=str(B).replace('.docx','')#统一格式
    print(B)#输出第二组字符串

输出结果为
['张三', '李四', '王五']
['张三']

如何进行对比使其输出结果为
['李四','王五']

img
有帮助麻烦点个采纳,谢谢~~

更多参考:python 数组交、并、差集

A=['1','2','3','4']
B=['2','4']
difference = list(set(A).difference(set(B))) 
print (difference)

img

A=['张三','李四','王五'] 
B=['张三']
difference = list(set(A).difference(set(B))) 
print (difference)
input()

img

因为你A和B用str()转换之后就是字符串了。需要用
A=eval(A)
B=eval(B)
再转换成列表

import os
for root, dirs, files in os.walk('F:\Files\原数据文件夹'):#获取一组字符串
    A = files
A =str(A).replace('.docx','')#统一格式
print(A) #输出第一组字符串
for root, dirs, files in os.walk('F:\Files\比对文件夹'):#获取第二组字符串
    B= files
B=str(B).replace('.docx','')
print(B)

A=eval(A)
B=eval(B)

C= list(set(A).difference(set(B)))#比对
print(C)#输出差异

或者改用 A = [x.replace('.docx','') for x in A] 删除列表元素字符串中的.docx

for root, dirs, files in os.walk('F:\Files\原数据文件夹'):#获取一组字符串
    A = files
A = [x.replace('.docx','') for x in A]#统一格式
print(A) #输出第一组字符串
for root, dirs, files in os.walk('F:\Files\比对文件夹'):#获取第二组字符串
    B= files
B = [x.replace('.docx','') for x in B]
print(B)
C= list(set(A).difference(set(B)))#比对
print(C)#输出差异

以下是我写的代码
import os
for root, dirs, files in os.walk('F:\Files\原数据文件夹'):#获取一组字符串
A = files
A =str(A).replace('.docx','')#统一格式
print(A) #输出第一组字符串
for root, dirs, files in os.walk('F:\Files\比对文件夹'):#获取第二组字符串
B= files
B=str(B).replace('.docx','')
print(B)
C= list(set(A).difference(set(B)))#比对
print(C)#输出差异
执行结果为
['张三', '李四', '王五']
['张三']
['李', ' ', '四', ',', '王', '五']

如果手动输入字符串,您给的方案切实可行
可是我现在不知道我的代码问题出在何处,能否帮忙提出解决方法?