Вопрос:

Как добавить мои выходные значения в словарь

python dictionary

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'], теперь, как создать словарь, посмотрев содержимое внутри

Автор: Mous Источник Размещён: 11.08.2019 08:00

Ответы (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:12

1 плюс

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
Вопросы из категории :
32x32