+ 1

Как сделать поиск по словарю?

Почему-то выдает ошибку, когда делаю поиск по словарю типа: a.find(dict). Пишет типа Expected type 'str'. Я выбрал поиск по словарю методом find именно по тому, что он может искать часть вхождения, например: 'хорошая'.find('хорош'), но так не работает. Как делать поиск по словарю, чтобы не выдавало ошибку, как я описал выше? Или какой ещё есть поиск по словарю с частичным вхождением?

26th Aug 2017, 5:43 PM
Alexander Krupnitsky
Alexander Krupnitsky - avatar
6 Answers
+ 8
Словарь не имеет функции .find, потому я предлагал ищи по _списке_ ключей или значении (d.keys() или d.values()) ;)
30th Aug 2017, 11:27 AM
Kuba Siekierzyński
Kuba Siekierzyński - avatar
+ 8
🇷🇺 Перейду на английский чтоб все поняли :) 🇬🇧 The question was about how to find substrings in dictionary entries. Because it was not specified if it was related to keys or values, I recommended the below: Try iterating through the dictionary's keys or values. The .find() method will return the index of a string where the searched term was found or it will return -1 if not found: # remember that dictionary *is not* ordered d = {'abc': 'xyz', 'bca': 'yzx', 'cab': 'zxy'} # looking in values for i in d.values(): print(i.find('xy')) # looking in keys for i in d.keys(): print(i.find('ca'))
26th Aug 2017, 7:22 PM
Kuba Siekierzyński
Kuba Siekierzyński - avatar
+ 1
thanks, bro. I try this!
26th Aug 2017, 7:24 PM
Alexander Krupnitsky
Alexander Krupnitsky - avatar
+ 1
как тогда реализовать то, что я хочу?
30th Aug 2017, 9:58 AM
Alexander Krupnitsky
Alexander Krupnitsky - avatar
+ 1
спасибо
30th Aug 2017, 11:08 AM
Alexander Krupnitsky
Alexander Krupnitsky - avatar
+ 1
я уже понял смысл
30th Aug 2017, 11:28 AM
Alexander Krupnitsky
Alexander Krupnitsky - avatar