【发布时间】:2022-01-22 10:50:36
【问题描述】:
我很新,还在学习 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 .... (....) 代表了几个具有不同类号的重复名称,反之亦然。 如果有点难以理解,请见谅。
【问题讨论】:
-
您是说
class_list有每个学生注册的课程列表,mc_list有他们跳过的课程列表,您想知道他们参加了哪些课程吗?顺便说一句,您永远不应该将变量命名为“类”。这是一条 Python 语句。 -
您是说要创建一个由两个列表中都存在的元素组成的新列表吗?
-
您想如何准确地比较它们?比如,交集或减法,还是更复杂的东西?请edit 澄清。添加示例输入和所需的输出会有很大帮助。参考文献minimal reproducible example.
-
您好,所以 class_list 基本上是学生的姓名和他们拥有的班级。每个学生最多可以有一个以上的班级。 mc list 是学生的姓名和他们跳过的班级的班级编号。现在我需要比较 mc_list 和 class_list 的名称,以便我可以得到他们需要参加的所有班级编号。我也希望它像上面的输出一样在列表中。
-
('AB', 6636)来自哪里?请提供完整的示例输入和输出。
标签: python python-3.x list