Pythonで2つのリストの差分を取得するには、主にset()を使用します。set()はリストの重複を無視し、計算を効率化します。set(temp1) - set(temp2)を使うと、temp1に含まれていてtemp2にない要素を簡単に取得できます。

temp1 = ['One', 'Two', 'Three', 'Four']
temp2 = ['One', 'Two']
# 差分を取得
result = list(set(temp1) - set(temp2))  # 出力: ['Three', 'Four']

順序を保持するにはリスト内包表記が便利です。

s = set(temp2)
result = [x for x in temp1 if x not in s]  # 順序を保持

対称差(symmetric difference)を使うと、両方のリストで共通しない要素を取得できます。

result = list(set(temp1) ^ set(temp2))  # 出力: ['Three', 'Four']