Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Python: Общие вопросы > Поиск по списку


Автор: batman 26.1.2007, 18:36
Подскажите пожалуйста, что-то совсем затупил.
Есть список и необходимо найти элемент по неполному соответствию, т.е. по начальным, средним или конечным символам в элементе списка... smile 

Автор: V.A.KeRneL 27.1.2007, 09:12
batman, насколько я понял, в списке у тебя строки. 
В таком случае надо смотреть в сторону регулярных выражений: 
1) http://www.google.com/search?hl=en&q=python+regex&btnG=Search
2) http://www.amk.ca/python/howto/regex/
3) http://www.regular-expressions.info/python.html

Итак, сегодня четвёртый день моего знакомства с Python'ом. В принципе, [совсем] серьёзным программистам этого времени хватает, чтобы изучить основы таких языков как Ruby и Python, включая работу с регэкспами, классами и модулями, и как бонус — беглого просмотра стдлибы. Но я пока не настолько серьёзен smile, да к тому у меня до сих пор сессия, так что это мой первый опыт общения с питоновкими регэкспами: 
Код

>>> import re
>>>
>>> list = ['python', 'html', 'ruby', 'xml', 'lambo', 'ml', 'ML', 'mlS', 'ocaml', '<ml>']
>>> list
['python', 'html', 'ruby', 'xml', 'lambo', 'ml', 'ML', 'mlS', 'ocaml', '<ml>']
>>> for str in list:
...     if re.match('ml', str):
...         print str, 'ml'
...     elif re.match('.*ml', str):
...         print str, '.*ml'
...     elif re.match('ml.*', str):
...         print str, 'ml.*'
...     elif re.match('.*ml.*', str):
...         print str, '.*ml.*'
...
html .*ml
xml .*ml
ml ml
mlS ml
ocaml .*ml
<ml> .*ml
>>>


==========================================================================================
P.S. Всегда следуйте правилам форма! В частности: 
Если вопрос решён, то воспользуйтесь ссылкой "Пометить как решённый", которая находится под кнопками создания темы или флажком при ответе smile
==========================================================================================

Автор: batman 31.1.2007, 14:33
Спасибо. smile 

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)