小程序描述:輸入兩個倒排記錄表,求兩個倒排記錄表的交集。
倒排記錄表合併算法僞代碼如下所示:
功能描述:
①運行程序,看到提示“請輸入詞項word1:”,輸入某個倒排記錄表的詞項。
②運行程序,看到提示“請輸入word1的倒排記錄表(輸入-1,停止輸入倒排記錄表):”時,輸入①步驟詞項的倒排記錄表,當輸入-1時停止輸入此倒排記錄表。
③運行程序,看到提示“請輸入詞項word2:”,輸入某個倒排記錄表的詞項。
④運行程序,看到提示“請輸入word2的倒排記錄表(輸入-1,停止輸入倒排記錄表):”時,輸入③步驟詞項的倒排記錄表,當輸入-1時停止輸入此倒排記錄表。
小程序功能架構圖如下所示:
'''程序說明:
求兩個倒排記錄表的交集
輸入詞項的倒排記錄表時,當輸入-1,停止輸入其倒排記錄表
'''
#data字典存儲所有數據
data = {}
#分別輸入兩個詞項以及其對應的倒排記錄表
#輸入詞項word1以及它的倒排記錄表
word1 = str(input("請輸入詞項word1:"))
id_1 = []
while 1:
a1 = int(input('請輸入word1的倒排記錄表(輸入-1,停止輸入倒排記錄表):'))
if(a1 != -1):
id_1.append(a1)
else:
break
data[word1] = id_1
#輸入詞項word2以及它的倒排記錄表
word2 = str(input('請輸入詞項word2:'))
id_2 = []
while 1:
a2 = int(input("請輸入word2的倒排記錄表(輸入-1,停止輸入倒排記錄表):"))
if(a2 != -1):
id_2.append(a2)
else:
break
data[word2] = id_2
print('詞項a1爲:',word1)
print('詞項a2爲:',word2)
print('詞項a1的倒排記錄表爲:',data[word1])
print('詞項a2的倒排記錄表爲:',data[word2])
#求兩個詞項的並集
same_id = []
for i in data[word1]:
if(i in data[word2]):
same_id.append(i)
else:
continue
print("相同的倒排記錄表爲:",same_id)