Как добавить мои выходные значения в словарь
26 просмотра
2 ответа
175 Репутация автора
У меня есть свой код, чтобы показать файлы внутри папки. Как вставить в словарь
import os
result ={'T-Mobile':[],'iPhone':[]}
size = {22:[], 23:[]}
for (dirname,dirs,files) in os.walk('.'):
for filename in files:
if filename.endswith('.txt'):
thefile = os.path.join(dirname,filename)
size = (os.path.getsize(thefile),thefile)
if size[0] == 22 :
print ('T-Mobile:',thefile)
result['T-Mobile'].append(thefile)
continue
if size[0] == 23 :
print ('iPhone:', thefile)
result['iPhone'].append(thefile)
continue
Мой выход
T-Mobile: .\Captures\a.txt
T-Mobile: .\Captures\b.txt
iPhone: .\Captures\c.txt
iPhone: .\Captures\d.txt
результат
{'T-Mobile': ['.\\Captures\\a.txt', '.\\Captures\\b.txt'],
'iPhone': ['.\\Captures\\c.txt', '.\\Captures\\d.txt']}
Желаемый
result ={'T-Mobile':['.\Captures\a.txt','.\Captures\b.txt'],'iPhone':['.\Captures\c.txt','.\Captures\d.txt']}
size = {22:['T-Mobile'], 23:['iPhone']}
размер означает, что мы можем создать словарь по отношению к имени файла и размеру {22:['a.txt','g.txt'], 23:['b.txt']
, теперь, как создать словарь, посмотрев содержимое внутри
Ответы (2)
0 плюса
851 Репутация автора
list1 = list()
list2 = list()
dict_final_result = dict()
..................
..................
if size[0] == 22 :
print ('T-Mobile:',thefile)
continue
#Append the value of thefile into a list
list1.append(thefile)
if size[0] == 23 :
print ('iPhone:', thefile)
#Append the value of thefile into a list
list1.append(thefile)
continue
#Store the list elements into a dict with the appropriate key
dict_final_result['T-Mobile'] = list1
dict_final_result['iPhone'] = list2
Я оставлю создание второго dict, который хранит размер в качестве упражнения для вас. Это тот же подход
Автор: Thalish Sajeed Размещён: 11.08.2019 08:121 плюс
134 Репутация автора
Я бы просто поместил данные «T-mobile» и «iPhone» в отдельные списки, а затем добавил «thefile» в конкретный список, как показано ниже:
import os
T_Mobile = []
iPhone = []
for (dirname,dirs,files) in os.walk('.'):
for filename in files:
if filename.endswith('.txt'):
thefile = os.path.join(dirname,filename)
size = (os.path.getsize(thefile),thefile)
if size[0] == 22 :
print ('T-Mobile:',thefile)
T_Mobile.append(thefile);
continue
if size[0] == 23 :
print ('iPhone:', thefile)
iPhone.append(thefile);
continue
После этого вы можете поместить оба списка в словарь после цикла for следующим образом:
result = {'T-Mobile': T_Mobile, 'iPhone': iPhone}
Автор: daniel mcgregor
Размещён: 11.08.2019 08:15
Вопросы из категории :
- python Обработка XML в Python
- python Как я могу использовать Python itertools.groupby ()?
- python Python: На какой ОС я работаю?
- python Как я могу создать непосредственно исполняемое кроссплатформенное приложение с графическим интерфейсом на Python?
- python Вызов функции модуля с использованием его имени (строки)
- python Звук Питона («Колокол»)
- python Regex и unicode
- python Создать зашифрованный ZIP-файл в Python
- python Создайте базовый итератор Python
- python Функция транспонирования / распаковки (обратная сторона zip)?
- dictionary Как вы сортируете словарь по значению?
- dictionary Как объединить два словаря в одном выражении?
- dictionary Как эффективно перебирать каждую запись на карте Java?
- dictionary Как отсортировать список словарей по значению словаря?
- dictionary Sort a Map<Key, Value> by values
- dictionary Каков наилучший способ перебора словаря?
- dictionary Разделение разделенной точкой с запятой строки в словаре в Python
- dictionary Конвертировать два списка в словарь
- dictionary Создание постоянного словаря в C #
- dictionary Получение ключа с максимальным значением в словаре?