Python程序设计与应用教程

img


辅导员要到学生宿舍走访,学生宿舍管理数据库中有一表如下,现将表中的姓名列删除形成新表,要求不能出现重复元组(行)。编写程序,用序列和集合实现这一过程,从而获得需要走访的宿舍地址(楼栋和宿舍号)。

下面是使用序列和集合实现的代码:

# 原始表格
data = [("小西", "1号楼", "201"), ("小东", "2号楼", "202")]

# 删除姓名列
new_data = [(x[1], x[2]) for x in data]

# 利用集合去重
deduped_data = set(new_data)

# 输出需要走访的宿舍地址
for item in deduped_data:
    print(item[0], item[1])

解释一下这个代码的实现过程:

  • 首先定义了一个原始表格,其中每行是一个三元组,分别表示姓名、楼栋和宿舍号。
  • 然后用一个列表推导式,将原始表格中的姓名列去除,形成一个新的二元组序列。
  • 接着利用 Python 的集合类型,将新的二元组序列转换成一个集合,从而去除了其中的重复元素。
  • 最后,遍历这个集合,输出需要走访的宿舍地址。

需要注意的是,在这个过程中我们使用了 Python 的元组、列表、集合和循环语句等基本语法。如果对你有帮助的话,请给个小小的采纳,谢谢