zh648990 发表于 2022-6-21 11:54

Python 如何获取举例的数据结构?

本帖最后由 zh648990 于 2022-6-25 09:08 编辑

data = [
    '/一级目录/1二级目录/三级目录1/四级目录1',
    '/一级目录/1二级目录/三级目录1/四级目录2',
    '/一级目录/1二级目录/三级目录2',
    '/一级目录/1二级目录/三级目录3',
    '/一级目录/2二级目录/三级目录1',
    '/一级目录/2二级目录/三级目录2/四级目录1',
    '/一级目录/3二级目录'
]

# 最终我想获取
data1 = ['1二级目录', '2二级目录', '3二级目录']
data2 = [['三级目录1', '三级目录2', '三级目录3'], ['三级目录1', '三级目录2'], ['']]

data1 我已解决了
data2 如何获取 跪谢

cdsgg 发表于 2022-6-21 12:00

用split('/')分割不就完了

zh648990 发表于 2022-6-21 12:04

cdsgg 发表于 2022-6-21 12:00
用split('/')分割不就完了

试过,结果不是我想要的

cdsgg 发表于 2022-6-21 12:06

data = [
    '/一级目录/1二级目录/三级目录1/四级目录1',
    '/一级目录/1二级目录/三级目录1/四级目录2',
    '/一级目录/1二级目录/三级目录2',
    '/一级目录/1二级目录/三级目录3',
    '/一级目录/2二级目录/三级目录1',
    '/一级目录/2二级目录/三级目录2/四级目录1',
    '/一级目录/3二级目录'
]

# 最终我想获取
data1 = ['1二级目录', '2二级目录', '3二级目录']
data2 = [['三级目录1', '三级目录2', '三级目录3'], ['三级目录1', '三级目录2'], ['']]

print()


[['', '一级目录', '1二级目录', '三级目录1', '四级目录1'], ['', '一级目录', '1二级目录', '三级目录1', '四级目录2'], ['', '一级目录', '1二级目录', '三级目录2'], ['', '一级目录', '1二级目录', '三级目录3'], ['', '一级目录', '2二级目录', '三级目录1'], ['', '一级目录', '2二级目录', '三级目录2', '四级目录1'], ['', '一级目录', '3二级目录']]

cdsgg 发表于 2022-6-21 12:07

举一反三呗

zh648990 发表于 2022-6-21 12:09

cdsgg 发表于 2022-6-21 12:06
data = [
    '/一级目录/1二级目录/三级目录1/四级目录1',
    '/一级目录/1 ...

谢谢大佬的回复,但是答案是错的
data2 的数据 对应data1的且忽略四级目录

cqfcy 发表于 2022-6-21 12:55

import pandas as pd
df = pd.DataFrame([ for item in data ], columns=['0', '1', '2', '3', '4']).fillna('')
# 0                  1                  2                   3                   4
# 0                一级目录      1二级目录      三级目录1      四级目录1
# 1                一级目录      1二级目录      三级目录1      四级目录2
# 2                一级目录      1二级目录      三级目录2      
# 3                一级目录      1二级目录      三级目录3      
# 4                一级目录      2二级目录      三级目录1      
# 5                一级目录      2二级目录      三级目录2      四级目录1
# 6                一级目录      3二级目录               
list3 = df.groupby('2')['3'].agg(set).to_list()
# [{'三级目录1', '三级目录2', '三级目录3'}, {'三级目录1', '三级目录2'}, {''}]
list3 =
# [['三级目录1', '三级目录2', '三级目录3'], ['三级目录1', '三级目录2'], ['']]
print(list3)
借助一下pandas实现,两行代码解决,不烧脑{:1_918:}

cdsgg 发表于 2022-6-21 13:04

正则也可以的 我觉得

zh648990 发表于 2022-6-21 13:06

cqfcy 发表于 2022-6-21 12:55
import pandas as pd
df = pd.DataFrame([

666666 思路一下子打开了 感谢感谢
页: [1]
查看完整版本: Python 如何获取举例的数据结构?