Как вернуть список значений из словаря? - PullRequest
0 голосов
/ 29 ноября 2018

Мне нужно вернуть список значений для данного номера идентификатора, используя два ранее созданных словаря, где нужные значения хранятся в словарях.

Ниже приведены два словаря, которые я создал:

{100: ('Mulan', [300, 500], [200, 400]), 
200: ('Ariel', [100, 500], [500]), 
300: ('Jasmine', [500], [500, 100]), 
400: ('Elsa', [100, 500], []), 
500: ('Belle', [200, 300], [100, 200, 300, 400])}

{100000: (400, 'Does not want to build a %SnowMan %StopAsking', ['SnowMan', 'StopAsking'], [100, 200, 300], [400, 500]), 
100001: (200, 'Make the ocean great again.', [''], [], [400]), 
100002: (500, "Help I'm being held captive by a beast!  %OhNoes", ['OhNoes'], [400], [100, 200, 300]), 
100003: (500, "Actually nm. This isn't so bad lolz :P %StockholmeSyndrome", ['StockholmeSyndrome'], [400, 100], []), 
100004: (300, 'If some random dude offers to %ShowYouTheWorld do yourself a favour and %JustSayNo.', ['ShowYouTheWorld', 'JustSayNo'], [500, 200], [400]), 
100005: (400, 'LOLZ BELLE.  %StockholmeSyndrome  %SnowMan', ['StockholmeSyndrome', 'SnowMan'], [], [200, 300, 100, 500])}

Первый словарь имеет форму {id: (имя, подписчики, следующие}.

Второй словарь имеет форму {ключ: (id, chirp, теги,лайки, дислайки}.

Для заданных идентификаторов 100, 200, 300, 400, 500 мне нужно вернуть чириканье с наибольшим количеством лайков для каждого пользователя, за которым они следуют.

Пример вывода, скажемидентификатор номер 500, будет:

['Make the ocean great again.', 
'If some random dude offers to %ShowYouTheWorld do yourself a favour and %JustSayNo.', 
'Does not want to build a %SnowMan %StopAsking']

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

Большое спасибо за любые рекомендации, которые вы можете предложить!

1 Ответ

0 голосов
/ 29 ноября 2018

Вам нужно будет использовать вложенные циклы, чтобы пройти через оба словаря, начиная с первого:

user_input = 500

for key, value in dictionary1.items():
if user_input == key:
    for key2, value2 in dictionary2.items():
        for items in value[1]:  
            if items == value2[0]:
                print(value2[1])

key = id

value [1] [0] = name

значение [1] [1] = подписчики

значение [1] [2] = подписка

ключ2 = ключ

значение2 [0] = идентификатор

value2 [1] = чириканье

value2 [2] = теги

value2 [3] = лайки

value2 [4] = неприязнь

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...