我有两个字符串列表:差,而没有使用SET
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
但我只是想看看在Python版本小于3的情况下是否有比这个解决方案有效的方法。
为什么你不希望使用设置做?集合在Python 2和Python 3中都存在? – 2014-12-04 22:55:00
@PeterdeRivaz,我只想让解决方案更具算法性。 – ASANT 2014-12-04 22:57:35
@anbu我在下面提供了一个解决方案,但是知道使用'set'交集的效率要高得多,我不知道你认为通过避免使用set可以更“算法化”。 – CoryKramer 2014-12-04 22:58:18