我有这样一个代码
import difflib
list1 = ["ameixa","bolo","guarana","caju","pizza","maracuja","forro", "coco"]
list2 = ["ameixa","guarana","caju","pizza","maracuja","forro","bolo"]
for line in difflib.unified_diff(list1, list2, fromfile='file1', tofile="file2", lineterm=""):
print(line)
字符串
问题是:正在返回:
--- file1
+++ file2
@@ -1,8 +1,7 @@
ameixa
-bolo
guarana
caju
pizza
maracuja
forro
-coco
+bolo
所以,正如你所看到的,“博洛”在两个列表中都有,但是它在两个列表中被识别为不同的元素,我怎么能在不考虑位置的情况下比较它们呢?
2条答案
按热度按时间r1zk6ea11#
我建议将这两个列表转换为
sets
,然后再转换为list
:输出1
当我们应用脚本时,我们得到:
产出2
k97glaaz2#
在运行
difflib.unified_diff
之前对列表进行排序。输出:
编辑:
这是一个不使用
difflib.unified_diff
的解决方案,这可能更简单。从问题是不那么清楚什么是你想要的输出,虽然: