Возврат определенного значения из списка на основе строкового значения в Python - PullRequest
0 голосов
/ 19 марта 2019

Я получил президентов из БД и создал список. Теперь мне нужно получить 4-значный пин-код, основанный на pname, заданном пользователем. Ниже приведен список, который генерируется.

['George Bush 6182', 'John Kennedy 5860', 'Barrack Obama 6394', 'Harry Truman 6478', 'Richard Nixon 7155'] 

Я пробовал перебирать список, но у меня ничего не получилось.

full_list = []
pName = message[cmd_index + 2]
p_map_snapshot = db_root.child('pMap').get()
p_id = p_map_snapshot[message[cmd_index + 1].lower()]
roster_snapshot = db_root.child('rosters').child(p_id).get()
print (pName)
for prez in roster_snapshot:
    full_list.append((prez['firstName'] + " " + prez['lastName'] + " " + str(prez['pinId'])))
         #LOOP HERE?
              #if pName == ?
#print(full_list)

1 Ответ

0 голосов
/ 19 марта 2019

Во-первых, вам не нужно строить full_list, поскольку у вас уже есть имена президентов и соответствующие PIN-коды в структурированном списке диктов roster_snapshot, так что вы можете просто выполнить итерацию по нему и сравнитьвведите имя президента вместе с пользовательским вводом и выведите PIN-код, когда они совпадут:

for prez in roster_snapshot:
    if ' '.join((prez['firstName'], prez['lastName'])) == pName:
        print(prez['pinId'])
        break
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...