IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> Python知识库 -> python学习一点 快乐一点(8)目录删除 -> 正文阅读

[Python知识库]python学习一点 快乐一点(8)目录删除

目录删除

要求:1s 262144k

某文件系统中有N个目录,每个目录都一个独一无二的ID。每个目录只有一个父目录,但每个父目录下可以有零个或者多个子目录,目录结构呈树状结构。
假设,根目录的ID为0,且根目录没有父目录,其他所有目录的ID用唯一的正整数表示,并统一编号。
现给定目录ID和其父目录ID的对应父子关系表[子目录ID,父目录ID],以及一个待删除的目录ID,请计算并返回一个ID序列,表示因为删除指定目录后剩下的所有目录,返回的ID序列以递增序输出。
注意:
1、被删除的目录或文件编号一定在输入的ID序列中;
2、当一个目录删除时,它所有的子目录都会被删除。

输入描述: 输入的第一行为父子关系表的长度m;接下来的m行为m个父子关系对;最后一行为待删除的ID。序列中的元素以空格分割,参见样例。

输出描述: 输出一个序列,表示因为删除指定目录后,剩余的目录ID。

示例1
输入
5
8 6
10 8
6 0
20 8
2 6
8

输出
2 6

在这里插入图片描述

n = int(input())
import sys
root = []
node = []
for i in range(n):
    line = sys.stdin.readline().strip().split()
    node.append(line[0]) ##定义子目录
    root.append(line[1]) ##定义父目录
rm_node=input()
index=[]
for i in range(len(node)):
    index.append(i)
dict_root = dict(zip(index, root))##定义索引和子目录的字典
dict_node = dict(zip(index, node))##定义索引和父目录的字典
pop_index = list(i for i in range(len(node)) if dict_root.get(i)==rm_node)

if rm_node in node and rm_node not in  root:
    res = list(set(node+root))
    res.remove(rm_node)
    res.remove('0')
    print(' '.join(str(x) for x in res))

if rm_node in root:
    for i in pop_index:
        del dict_node[i]
    new_node=list(set(list(dict_node.values())))
    new_root=list(set(root))
    new_root.remove(rm_node)

    if rm_node not in node:
        res=list(set((new_node + new_root)))
        res.remove('0')
        print(' '.join(str(x) for x in res))

    if rm_node  in node:
        new_node.remove(rm_node)
        res = list(set((new_node + new_root)))
        res.remove('0')
        print(' '.join(str(x) for x in res))

在这里插入图片描述

  Python知识库 最新文章
Python中String模块
【Python】 14-CVS文件操作
python的panda库读写文件
使用Nordic的nrf52840实现蓝牙DFU过程
【Python学习记录】numpy数组用法整理
Python学习笔记
python字符串和列表
python如何从txt文件中解析出有效的数据
Python编程从入门到实践自学/3.1-3.2
python变量
上一篇文章      下一篇文章      查看所有文章
加:2021-08-09 10:12:00  更:2021-08-09 10:12:54 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年5日历 -2024/5/17 13:46:13-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码