我很新,還在學習python。我需要知道如何將串列中的專案與另一個串列進行比較。
mc_zip = zip(name, class)
mc_list = list(mc_zip)
class_zip = zip(class_name, class_number)
class_list = list(class_zip)
print(mc_list)
print(class_list)
輸出
mc_list = [('AA', 5537), ('AA', 5620), ...., ('AB', 5531)]
class_list = [('AA', 5537), ('AA', 1244), ...., ('AZ', 4545)]
mc_list是沒有上課的學生,而class_list是學校的學生名單。我想知道如何比較 和 的名稱,然后mc_list才能class_list從mc_list具有相同名稱的 中提取資料。這樣我就可以知道特定名稱所占用的課程。新的輸出應該是:
mcstudentclass = [('AA', 5537),('AA', 5540), ('AA', 1244),('AB', 5531), ('AB', 6636),.....]
如果您想知道 ('AB', 6636) 或 ('AA', 5540) 從何而來。它來自 class_list .... (....) 代表幾個具有不同類號的重復名稱,反之亦然。抱歉,如果有點難以理解。
uj5u.com熱心網友回復:
如果您需要人們從他們注冊的課程串列和他們錯過的課程串列中參加的課程串列,這里有兩個選項,它們以您提供的相同壓縮格式開始。
names = ["Alice", "Bob", "Charlie"]
classes = [1, 2, 3]
registered = [("Alice", 1), ("Alice", 2), ("Alice", 3), ("Bob", 2), ("Bob", 3), ("Charlie", 1), ("Charlie", 3)]
missed = [("Alice", 1), ("Charlie", 3)]
# 1. list comprehension
attended = [p for p in registered if p not in missed]
print(attended)
# 2. set difference
attended = set(registered) - set(missed)
print(attended)
uj5u.com熱心網友回復:
將班級串列放入字典中。將 mc_list 與它進行比較。它會節省很多時間。
如果將串列與串列進行比較,則必須遍歷串列。我查字典不需要那個。
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/388991.html
上一篇:是否可以在numpy陣列中添加不同長度的行,然后在python中向該行添加元素?
下一篇:Error while waiting for device: The emulator process for AVD Pixel_API_30 has terminated.
