Heim > Artikel > Backend-Entwicklung > 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.
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)
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.
的函数,它以一个单词列表作为输入.我们初始化一个空字典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)
输出
{('a', 'e'): ['apple', 'amazon grape'], ('b', 'a'): ['banana'], ('a', 't'): ['ant'], ('c', 't'): ['cat'], ('d', 'g'): ['dog'], ('e', 't'): ['elephant']}
语法
import re result = re.split(pattern, string)
Beispiel
的函数,它接受一个单词列表作为输入.在循环中,我们使用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)
输出
{('a', 'e'): ['apple', 'amazon grape'], ('b', 'a'): ['banana'], ('a', 't'): ['ant'], ('c', 't'): ['cat'], ('d', 'g'): ['dog'], ('e', 't'): ['elephant']}
Beispiel
语法
[expression for item in list if condition]
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)
输出
{('a', 'e'): ['apple', 'amazon grape'], ('b', 'a'): ['banana'], ('a', 't'): ['ant'], ('c', 't'): ['cat'], ('d', 'g'): ['dog'], ('e', 't'): ['elephant']}
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!