代码为
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)#输出第二组字符串
输出结果为
['张三', '李四', '王五']
['张三']
如何进行对比使其输出结果为
['李四','王五']
有帮助麻烦点个采纳,谢谢~~
更多参考:python 数组交、并、差集
A=['1','2','3','4']
B=['2','4']
difference = list(set(A).difference(set(B)))
print (difference)
A=['张三','李四','王五']
B=['张三']
difference = list(set(A).difference(set(B)))
print (difference)
input()
因为你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)#输出差异
执行结果为
['张三', '李四', '王五']
['张三']
['李', ' ', '四', ',', '王', '五']
如果手动输入字符串,您给的方案切实可行
可是我现在不知道我的代码问题出在何处,能否帮忙提出解决方法?