У меня есть следующий список:Как извлечь кортежи из списка кортежей?
data = [('Mr', 'PROPN'), ('.', 'PUNCT'), ('William', 'PROPN'), ('Henry', 'PROPN'), ('Gates', 'PROPN'), (',', 'PUNCT'), ('III', 'NUM'), ('is', 'VERB'), ('Founder', 'PROPN'), ('and', 'CONJ'), ('Technology', 'PROPN'), ('Advisor', 'NOUN'), ('Director', 'NOUN'), ('of', 'ADP'), ('Microsoft', 'PROPN'), ('Corporation', 'PROPN'), ('a', 'DET'), ('cofounder', 'NOUN'), ('served', 'VERB'), ('as', 'ADP'), ('Chairman', 'PROPN'), ('from', 'ADP'), ('our', 'PRON'), ('incorporation', 'NOUN'), ('in', 'ADP'), ('1981', 'NUM'), ('until', 'ADP'), ('2014', 'NUM'), ('He', 'PRON'), ('currently', 'ADV'), ('acts', 'VERB'), ('Technical', 'ADJ'), ('to', 'ADP'), ('Nadella', 'NUM'), ('on', 'ADP'), ('key', 'ADJ'), ('development', 'NOUN'), ('projects', 'NOUN'), ('retired', 'VERB'), ('an', 'DET'), ('employee', 'NOUN'), ('2008', 'NUM'), ('Chief', 'NOUN'), ('Software', 'PROPN'), ('Architect', 'PROPN'), ('2000', 'NUM'), ('2006', 'NUM'), ('when', 'ADV'), ('he', 'PRON'), ('announced', 'VERB'), ('his', 'PRON'), ('two', 'NUM'), ('-', 'PUNCT'), ('year', 'NOUN'), ('plan', 'NOUN'), ('transition', 'VERB'), ('out', 'ADP'), ('day', 'NOUN'), ('full', 'ADJ'), ('time', 'NOUN'), ('role', 'NOUN'), ('Executive', 'PROPN'), ('Officer', 'PROPN'), ('resigned', 'VERB'), ('assumed', 'VERB'), ('the', 'DET'), ('position', 'NOUN'), ('As', 'ADP'), ('co', 'PROPN'), ('chair', 'NOUN'), ('Bill', 'NOUN'), ('&', 'CONJ'), ('Melinda', 'PROPN'), ('Foundation', 'PROPN'), ('shapes', 'NOUN'), ('approves', 'VERB'), ('grant', 'NOUN'), ('making', 'VERB'), ('strategies', 'NOUN'), ('advocates', 'NOUN'), ('for', 'ADP'), ('foundation’s', 'NUM'), ('issues', 'NOUN'), ('helps', 'VERB'), ('set', 'VERB'), ('overall', 'ADJ'), ('direction', 'NOUN'), ('organization', 'NOUN'), ('founder', 'NOUN'), ('’', 'NUM'), ('foresight', 'NOUN'), ('vision', 'NOUN'), ('personal', 'ADJ'), ('computing', 'NOUN'), ('have', 'AUX'), ('been', 'VERB'), ('central', 'ADJ'), ('success', 'NOUN'), ('software', 'NOUN'), ('industry', 'NOUN'), ('has', 'VERB'), ('unparalleled', 'ADJ'), ('knowledge', 'NOUN'), ('Company’s', 'NUM'), ('history', 'NOUN'), ('technologies', 'NOUN'), ('Company', 'NOUN'), ('its', 'PRON'), ('grew', 'VERB'), ('fledgling', 'ADJ'), ('business', 'NOUN'), ('into', 'ADP'), ('world’s', 'NUM'), ('leading', 'VERB'), ('company', 'NOUN'), ('process', 'NOUN'), ('creating', 'VERB'), ('one', 'NUM'), ('most', 'ADV'), ('prolific', 'ADJ'), ('sources', 'NOUN'), ('innovation', 'NOUN'), ('powerful', 'ADJ'), ('brands', 'NOUN'), ('through', 'ADP'), ('motion', 'NOUN'), ('technological', 'ADJ'), ('strategic', 'ADJ'), ('programs', 'NOUN'), ('that', 'DET'), ('are', 'VERB'), ('core', 'NOUN'), ('part', 'NOUN'), ('continues', 'VERB'), ('provide', 'VERB'), ('technical', 'ADJ'), ('input', 'NOUN'), ('evolution', 'NOUN'), ('productivity', 'NOUN'), ('platform', 'NOUN'), ('mobile', 'NOUN'), ('first', 'ADJ'), ('cloud', 'NOUN'), ('world', 'NOUN'), ('His', 'PRON'), ('work', 'NOUN'), ('overseeing', 'VERB'), ('provides', 'VERB'), ('global', 'ADJ'), ('insights', 'NOUN'), ('relevant', 'ADJ'), ('current', 'ADJ'), ('future', 'ADJ'), ('opportunities', 'NOUN'), ('keen', 'ADJ'), ('appreciation', 'NOUN'), ('stakeholder', 'ADJ'), ('interests', 'NOUN')]
Я хотел бы, чтобы извлечь тройные модели с учетом второго элемента каждого кортежа. Например, скажем, я хотел бы, чтобы извлечь все кортежи, которые имеют 'of'
между кортежами, имеют второй элемент 'NOUN'
и 'PROPN'
:
[('Director', 'NOUN'), ('of', 'ADP'), ('Microsoft', 'PROPN')]
Следовательно, мой вопрос, как я могу извлечь выше шаблон без использования регулярных выражений? , Причина, по которой я не хочу использовать регулярное выражение, заключается в том, что я собираюсь начать сбор кортежей по-разному. например, кортежи, который имеет в качестве первого значения 'world’s'
с последующим 'VERB'
, 'NOUN'
:
[('world’s', 'NUM'), ('leading', 'VERB'), ('company', 'NOUN')]
Почему без регулярного выражения? –
Потому что иногда писать регулярное выражение просто усложняет задачу выделения шаблона @ElliotRoberts –
Если есть несколько, что делать? –