LINUX.ORG.RU

Сортировка папок в двухмерный списке на Python

 


0

1

Не могу от сортировать папки в двухмерный список писал на python3.

Как сделать мне чтобы результат был такой [['/home/python2', '/home/test_py'], ['test']] но не такой [['/home/python2', '/home/test_py', '/home/test'], []]

вот код.

dp = '/home/'
a='/test'

l = [[] for i in range(2)]

for r,d,f in os.walk(dp):
  if r == a:
    l[1].append(r)
  elif r != True:
     l[0].append(r)
           
print(l)

Примерный код нормально работает.
d='test1', 'test2', 'test3', 'test4'
f='/test1'

s=[[] for i in range(2)]

for i in d:
   if i in f:
     s[1].append(i)
   elif i != True:
     s[0].append(i)

print(s)

Просим помощи у ПИТОНИСТОВ  зарание всем спасибо.

Непонятно. Нужны исходные данные и предполагаемый результат, тогда можно будет подумать.

vvn_black ★★★★★
()
Ответ на: комментарий от vvn_black

Мне нужно получить такой результат [['/home/python2', '/home/test_py'], ['test']] но не такой [['/home/python2', '/home/test_py', '/home/test'], []]

Перебрал все варианты Не знаю как делать дальше А у тебя есть вариант буду рад.

roma9
() автор топика
Ответ на: комментарий от Deleted

учитывая что это не его родной язык.

Не знаю откуда у вас такая информация. На мой взгляд ТС похож на типичного тролля, сознательно коверкающего русский язык и пытающегося провоцировать тупым бредом.

ados ★★★★★
()
Последнее исправление: ados (всего исправлений: 2)

Проходишь курсы удаления гланд через жопу?

anonymous
()
Ответ на: комментарий от Deleted

Бессвязность мышления является психическим отклонением и от языка не зависит.

anonymous
()
Ответ на: комментарий от vvn_black

Насколько я распарсил ТСу нужно,чтобы каталог верхнего уровня (в данному случае /test) писался во второй элемент двумерного списка, а не был дочерним каталогом директории /home

Twissel ★★★★★
()
Ответ на: комментарий от roma9
$ tree
.
├── test
├── test1
├── test2
├── test3
└── walk.py
import os

path = '.'
exclude_dir = './test'

excluded = [*filter(lambda x: exclude_dir == x,
                    map(lambda x: x[0], os.walk(path))), ]
print(excluded)

without_excluded = [*filter(lambda x: exclude_dir != x,
                            map(lambda x: x[0], os.walk(path))), ]
print(without_excluded)
['./test']
['.', './test2', './test1', './test3']
vvn_black ★★★★★
()
Последнее исправление: vvn_black (всего исправлений: 1)

от сортировать

АФФТАР ЖЖОЖ, ПИШИ ИЗЧО.

Просим

с этим к психиатору надо

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.