2 回答

TA貢獻1895條經驗 獲得超3個贊
只需將set()列表包裹起來。
def readfile(fn):
with open(fn, 'r') as fh:
return fh.read().splitlines()
diff = set(readfile("file1.txt")).difference(set(readfile("file2.txt")))

TA貢獻1780條經驗 獲得超4個贊
您可以申請set將列表當場轉換為集合。所以這就足夠了:
a_file = open(r'c:\a.csv', 'r')
b_file = open(r'c:\b.csv', 'r')
a_set = set(a_file.readlines())
b_set = set(b_file.readlines())
a_file.close()
b_file.close()
difference_list = a_set.difference(b_set)
但我也建議應用with語句來執行基本的文件操作(打開、關閉等),并確保在幾乎任何異常的情況下它們都將被正確關閉。在這種情況下,代碼將如下所示:
with open(r'c:\a.csv', 'r') as a_file, open(r'c:\b.csv', 'r') as b_file:
a_set = set(a_file.readlines())
b_set = set(b_file.readlines())
difference_list = a_set.difference(b_set)
添加回答
舉報