Skip to content

【练习】数据结构综合实战

项目简介

数据结构综合实战

知识模块

  • Python 编程语言

知识点

  • 元组操作
  • 列表操作
  • 字典操作

受众

  • 初级测试开发工程师
  • 初级Python开发工程师

元组练习

  1. 定义一个具有一个元素值为 A 的元组 t
  2. 现有元组 t = ("A", "B", "D", "E", "F", "K", "S", "T", "W", "O", "P", "Z"), 通过切片获取元素 K 至元素 W(包括) 之间的所有元素。

列表练习

  1. 定义一个空列表 data
  2. data 中追加元素 A, B, C
  3. 将元组 ("A", "B", "C") 中的元素值添加到 data
  4. 向列表 data 中下标 3 位置插入元素 ("A", "B", "C")
  5. 统计列表 data 中值为 A 的元素个数并输出。

字典练习

  1. 现有班级 Python 中有三名学生,每名学生包含学号姓名年龄性别选课等信息,请定义字典进行描述。
  2. 添加一名新学生信息
  3. 修改第二名学生的性别为 female
  4. 删除第三名学生选课中的任意一门课程
  5. 给第一名学生添加地址信息
  6. 分别使用深拷贝方法和浅拷贝方法复制班级信息,然后修改班级信息中任意学生的课程信息,比较复制变量有何区别并说明。

答案

元组

  1. t = ("A",)
  2. t[t.index("K"):t.index("W")+1]

列表

  1. data = []
  2. 使用 append 方法依次添加 python data.append("A") data.append("B") data.append("C")
  3. data.extend(("A", "B", "C"))
  4. data.insert(3,("A", "B", "C"))
  5. print(data.count("A"))

字典

  1. 定义字典
    info = {"Python":[
        {"sid": 1, "name": "tom", "age": 22, "gender": "male", "course": ["python", "pytest", "flask", "html", "css", "javascript"]},
        {"sid": 2, "name": "jack", "age": 22, "gender": "female", "course": ["python", "pytest", "flask", "html", "css", "javascript"]},
        {"sid": 3, "name": "rose", "age": 22, "gender": "male", "course": ["python", "pytest", "flask", "html", "css", "javascript"]}
    ]}
    
  2. 追加元素
    info["Python"].append({"sid": 4, "name": "tony", "age": 22, "gender": "male", "course": ["python", "pytest", "flask", "html", "css", "javascript"]})
    
  3. info["Python"][1]["gender"] = 'female'
  4. info["Python"][2]["course"].remove("flask")
  5. info["Python"][2]["address"] = "BeiJing"
  6. ```python import copy info = {"Python":[ {"sid": 1, "name": "tom", "age": 22, "gender": "male", "course": ["python", "pytest", "flask", "html", "css", "javascript"]}, {"sid": 2, "name": "jack", "age": 22, "gender": "female", "course": ["python", "pytest", "flask", "html", "css", "javascript"]}, {"sid": 3, "name": "rose", "age": 22, "gender": "male", "course": ["python", "pytest", "flask", "html", "css", "javascript"]} ]}

    deep_copy_info = copy.deepcopy(info) copy_info = copy.copy(info)

    info["Python"][0]["course"].remove("css") info["Python"][1]["course"].append("App")

    print(info) print(deep_copy_info) print(copy_info) ```

    深拷贝变量会逐层拷贝,具有数据独立性,原始变量修改,深拷贝数据不受影响

    浅拷贝只拷贝第一层引用,当原始变量修改时,浅拷贝数据会随之改变