我有两个字符串列表:
list1 = ["python", "java", "perl", "sql"]
list2 = [ "scala", "python", "perl"]
我需要一个差异列表,例如:
difference = ["java", "sql", "scala"]
我试过:
def stringDifference(list1, list2):
difference = []
for i in list1:
if i not in list2:
difference.append(i)
for i in list2:
if i not in list1:
difference.append(i)
print difference
但我只是想看看在低于3的Python版本中是否有比这个解决方案更有效的方法。
最佳答案
您可以添加两个列表理解的结果
>>> list1 = ["python", "java", "perl", "sql"]
>>> list2 = [ "scala", "python", "perl"]
>>> [i for i in list1 if i not in list2] + [i for i in list2 if i not in list1]
['java', 'sql', 'scala']
关于python - 不使用 SET 的两个字符串列表之间的区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27305712/