我正在學習python,並嘗試使用web.py創建一個自己使用的電影集合。蟒蛇 - 比較兩個列表
我有兩個列表
movies_all = ["abc","xyz","opq"]
movies_watched = ["xyz","pqr","cba"]
我想要做的是打印最終輸出movies_all的所有行。 這樣,如果在列表movies_watched中存在匹配,則輸出是或否。例如,在上面只有「xyz」是常見的。
優選地,輸出應該是單個數據類型,例如「列表列表」或字典或元組列表等。 其目的是在如下所示的html表格中顯示輸出。
輸出:
================ Movies| Watched | ------|---------| abc |No | xyz |Yes | opq |No |
表輸出僅用於提高可讀性,實際上是不需要的。
我都試過,但通過迭代一個列表
matches=[]
print "start comparing"
for item_a in movies_all:
for item_b in movies_watched:
if item_a == item_b:
matches.append(item_a)
matches.append("Yes")
#result=zip(movies_all,matches) -> Tried this but not getting desired output
for i in range(4):
print("%s, %s" % (movies_all[i],matches))
你應該發佈自己的編碼嘗試,否則你的問題會吸引downvotes。提示:要有效地做到這一點,'movies_watched'應該是'set'。 –
使用某人發佈的答案,然後執行:將pandas導入爲pd,d = {'movies':movies},df = pd.DataFrame(data = d) – sera
@ PM2Ring感謝您通知我,我的第一篇文章中添加了我的代碼失敗 – Bharat