亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

python中的列表中的樹文件結構?

python中的列表中的樹文件結構?

滄海一幻覺 2021-03-30 13:11:47
我有一個動態列表,可能看起來像這樣:['test_data/reads1.fq', 'test_data/reads_2.fq', 'test_data/new_directory/ok.txt',  'test_data/new_directory/new_new_dir/test.txt', 'hello/hello1.txt'] and so on我想從此文件構造層次結構樹結構:test_data   files    new_directory    file    new_new_dir       filehello如何在Python中執行此操作?以下代碼將列表構造到文件的根目錄。在那之后我該如何進行? [i.split('/') for i in a]
查看完整描述

3 回答

?
holdtom

TA貢獻1805條經驗 獲得超10個贊

您可以非常簡單地構建層次結構,如下所示:


t = {}

for p in pp:

    tt = t

    for c in p.split('/'):

        tt = tt.setdefault(c, {})

唯一要注意的是,葉子用空字典表示為鍵:


{'test_data': {'reads1.fq'    : {},

               'reads_2.fq'   : {},

               'new_directory': {'ok.txt'     : {},

                                 'new_new_dir': {'test.txt': {}}}},

 'hello'    : {'hello1.txt': {}}}


查看完整回答
反對 回復 2021-04-01
?
胡子哥哥

TA貢獻1825條經驗 獲得超6個贊

這是一個非常粗糙的算法:

  • 對于列表中的每個字符串:

    • 檢查當前級別是否有該名稱的樹節點,否則創建它

    • 如果不是葉子,則使該節點剛剛訪問(或創建)為當前節點

    • 將其拆分為路徑組件

    • 對于每個組件:


查看完整回答
反對 回復 2021-04-01
  • 3 回答
  • 0 關注
  • 156 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號