Heim > Backend-Entwicklung > Python-Tutorial > Gruppieren Sie Wörter mit ähnlichen Anfangs- und Endzeichen mit Python

Gruppieren Sie Wörter mit ähnlichen Anfangs- und Endzeichen mit Python

PHPz
Freigeben: 2023-08-19 20:25:05
nach vorne
795 Leute haben es durchsucht

Gruppieren Sie Wörter mit ähnlichen Anfangs- und Endzeichen mit Python

In Python können wir Wörter mit ähnlichen Status- und Endzeichen gruppieren, indem wir Methoden wie Wörterbücher und Schleifen verwenden, reguläre Ausdrücke verwenden und Listenverständnisse implementieren. Die Aufgabe besteht darin, eine Sammlung von Wörtern zu analysieren und Gruppen von Wörtern zu identifizieren, die einen gemeinsamen Anfang haben und Endzeichen. Dies kann eine nützliche Technik in verschiedenen Anwendungen zur Verarbeitung natürlicher Sprache sein, beispielsweise zur Textklassifizierung, zum Informationsabruf und zur Rechtschreibprüfung. In diesem Artikel werden wir diese Methoden untersuchen, um ähnliche Start- und Endzeichenwörter in Python zu gruppieren.

Methode 1: Wörterbücher und Schleifen verwenden

Diese Methode verwendet ein Wörterbuch, um Wörter basierend auf ihren ähnlichen Anfangs- und Endzeichen zu gruppieren. Indem wir die Wortliste durchlaufen und die Anfangs- und Endzeichen jedes Wortes extrahieren, können wir einen Schlüssel für das Wörterbuch erstellen. Die Wörter werden dann an die entsprechende Liste im Wörterbuch angehängt und bilden anhand ihrer Anfangs- und Endzeichen Gruppen.

语法

list_name.append(element)
Nach dem Login kopieren

Hier ist die Funktion append() eine Listenmethode, mit der ein Element am Ende des Listennamens hinzugefügt wird. Listenname ist die Liste, in der die Append-Methode angewendet wird.

Beispiel

的函数,它以一个单词列表作为输入.我们初始化一个空字典groups来存储单词组.对于输入列表中的每个单词,我们提取其然后我们使用这些字符创建一个元组键. 如果字典中已经存在该键,则将当前单词添加到相应的列表中.否则,我们创建一个以当前单词为第一个元素的新列表.最后,我们返回分组的结果字典.

def group_words(words):
    groups = {}
    for word in words:
        start_char = word[0]
        end_char = word[-1]
        key = (start_char, end_char)
        if key in groups:
            groups[key].append(word)
        else:
            groups[key] = [word]
    return groups

words = ['apple', 'banana', 'ant', 'cat', 'dog', 'elephant','amazon grape']
result = group_words(words)
print(result)
Nach dem Login kopieren

输出

{('a', 'e'): ['apple', 'amazon grape'], ('b', 'a'): ['banana'], ('a', 't'): ['ant'], ('c', 't'): ['cat'], ('d', 'g'): ['dog'], ('e', 't'): ['elephant']}
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren

方法二:使用正则表达式

在这种方法中,我们使用正则表达式来匹配每个单词中的模式.通过定义一个特定的模式来捕获单词的起始和结束字符,我们可以提取这些字符并创建一个用于分组的键。

语法

import re
result = re.split(pattern, string)
Nach dem Login kopieren

Hier benötigt die re.split-Funktion aus dem re-Modul zwei Parameter: Muster und Zeichenfolge. Das Muster ist ein regulärer Ausdruck, der die Aufteilungskriterien definiert, während die Zeichenfolge die zu teilende Eingabezeichenfolge ist. Die Funktion gibt eine Liste von Teilzeichenfolgen zurück, die sich aus der Teilungsoperation ergeben, basierend auf dem angegebenen Muster.

Beispiel

在下面的方法中,我们使用re模块和正则表达式来匹配每个单词的起始和结束字符.我们定义了一个名为

group_words

的函数,它接受一个单词列表作为输入.在循环中,我们使用re.match来将模式^(.)(.*)(.)$与每个单词进行匹配。如果找到匹配项,我们分别使„match.group(1)“ und „match.group“. (3).分组.

import re

def group_words(words):
    groups = {}
    for word in words:
        match = re.match(r'^(.)(.*)(.)$', word)
        if match:
            start_char = match.group(1)
            end_char = match.group(3)
            key = (start_char, end_char)
            if key in groups:
                groups[key].append(word)
            else:
                groups[key] = [word]
    return groups

words = ['apple', 'banana', 'ant', 'cat', 'dog', 'elephant','amazon grape']
result = group_words(words)
print(result)
Nach dem Login kopieren
输出

{('a', 'e'): ['apple', 'amazon grape'], ('b', 'a'): ['banana'], ('a', 't'): ['ant'], ('c', 't'): ['cat'], ('d', 'g'): ['dog'], ('e', 't'): ['elephant']}
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren

Methode 3: Listenverständnis verwenden

Listenverständnisse bieten eine prägnante und effiziente Möglichkeit, Wörter anhand ihrer Anfangs- und Endzeichen zu gruppieren. Durch die Nutzung des Wörterbuchverständnisses und des anschließenden Listenverständnisses können wir ein Gruppenwörterbuch erstellen und es mit den entsprechenden Wörtern füllen.

Beispiel

Im folgenden Beispiel definieren wir eine Funktion „group_words“, die eine Liste von Wörtern als Eingabe verwendet. Mithilfe eines Einzellistenverständnisses erstellen wir anfängliche Wörterbuchgruppen, wobei alle Schlüssel auf leere Listen gesetzt sind. Im nächsten Listenverständnis iterieren wir über jedes Wort in der Eingabeliste. Für jedes Wort greifen wir mit (Wort[0], Wort[−1]) als Schlüssel auf die entsprechende Liste im Wörterbuch zu und hängen das Wort daran an.

语法

[expression for item in list if condition]
Nach dem Login kopieren

在这里,语法由方括号包围的表达式和一个用于迭代列表的for循环组成.此外,可以添加一个可选的wenn条件来过滤元素.对于满足条件的列表中的每个项目,都会对表达式进行求值,并将结果收集到一个新列表中。

def group_words(words):
    groups = {(word[0], word[-1]): [] for word in words}
    [groups[(word[0], word[-1])].append(word) for word in words]
    return groups

words = ['apple', 'banana', 'ant', 'cat', 'dog', 'elephant','amazon grape']
result = group_words(words)
print(result)
Nach dem Login kopieren

输出

{('a', 'e'): ['apple', 'amazon grape'], ('b', 'a'): ['banana'], ('a', 't'): ['ant'], ('c', 't'): ['cat'], ('d', 'g'): ['dog'], ('e', 't'): ['elephant']}
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren

Fazit

在本文中,我们讨论了如何使用Python中的各种方法将具有相似起始和结束字符的单词进行分组.我们使用了三种不同的方法来对单词进行分组:使用字典和循环、使用正则表达式和使用列表推导式.通过使用这些技术,您可以高效地对单词进行分组,并从文本数据中获得有价值的见解,为各种自然语言处理应用打开了可能性。

Das obige ist der detaillierte Inhalt vonGruppieren Sie Wörter mit ähnlichen Anfangs- und Endzeichen mit Python. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:tutorialspoint.com
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage