Table des matières
Méthode 1 : Utiliser des dictionnaires et des boucles
语法
Exemple
输出
方法二:使用正则表达式
Méthode 3 : Utiliser les compréhensions de liste
Conclusion
Maison développement back-end Tutoriel Python Regrouper les mots avec des caractères de début et de fin similaires à l'aide de Python

Regrouper les mots avec des caractères de début et de fin similaires à l'aide de Python

Aug 19, 2023 pm 08:25 PM
python 分组 单词

Regrouper les mots avec des caractères de début et de fin similaires à laide de Python

En Python, nous pouvons regrouper des mots avec des caractères de statistique et de fin similaires en utilisant des méthodes telles que des dictionnaires et des boucles, en utilisant des expressions régulières et en implémentant des compréhensions de liste. La tâche consiste à analyser une collection de mots et à identifier des groupes de mots qui partagent un point de départ commun. et les personnages de fin. Cela peut être une technique utile dans diverses applications de traitement du langage naturel, telles que la classification de texte, la recherche d'informations et la vérification orthographique. Dans cet article, nous explorerons ces méthodes pour regrouper des mots de début et de fin similaires en Python.

Méthode 1 : Utiliser des dictionnaires et des boucles

Cette méthode utilise un dictionnaire pour regrouper les mots en fonction de leurs caractères de début et de fin similaires. En parcourant la liste de mots et en extrayant les caractères de début et de fin de chaque mot, nous pouvons créer une clé pour le dictionnaire. Les mots sont ensuite ajoutés à la liste correspondante dans le dictionnaire, formant des groupes en fonction de leurs caractères de début et de fin.

语法

list_name.append(element)
Copier après la connexion

Ici, la fonction append() est une méthode de liste utilisée pour ajouter un élément à la fin du list_name. List_name est la liste dans laquelle la méthode append est appliquée.

Exemple

在下面的示例中,我们定义了一个名为group_words的函数,它以一个单词列表作为输入。我们初始化一个空字典groups来存储单词组。对于输入列表中的每个单词,我们提取其起始字符(word[0])和结束字符(word[−1])。然后我们使用这些字符创建一个元组键。

如果字典中已经存在该键,则将当前单词添加到相应的列表中。否则,我们创建一个以当前单词为第一个元素的新列表。最后,我们返回分组的结果字典。

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)
Copier après la connexion

输出

{('a', 'e'): ['apple', 'amazon grape'], ('b', 'a'): ['banana'], ('a', 't'): ['ant'], ('c', 't'): ['cat'], ('d', 'g'): ['dog'], ('e', 't'): ['elephant']}
Copier après la connexion
Copier après la connexion
Copier après la connexion

方法二:使用正则表达式

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

语法

import re
result = re.split(pattern, string)
Copier après la connexion

Ici, la fonction re.split du module re prend deux paramètres : pattern et string. Le modèle est une expression régulière qui définit les critères de fractionnement, tandis que la chaîne est la chaîne d'entrée à diviser. La fonction renvoie une liste de sous-chaînes résultant de l'opération de division basée sur le modèle spécifié.

Exemple

在下面的方法中,我们使用re模块和正则表达式来匹配每个单词的起始和结束字符。我们定义了一个名为group_words的函数,它接受一个单词列表作为输入。在循环中,我们使用re.match来将模式^(.)(.*)(.)$与每个单词进行匹配。如果找到匹配项,我们分别使entre match.group(1) et 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)
Copier après la connexion

输出

{('a', 'e'): ['apple', 'amazon grape'], ('b', 'a'): ['banana'], ('a', 't'): ['ant'], ('c', 't'): ['cat'], ('d', 'g'): ['dog'], ('e', 't'): ['elephant']}
Copier après la connexion
Copier après la connexion
Copier après la connexion

Méthode 3 : Utiliser les compréhensions de liste

Les compréhensions de listes offrent un moyen concis et efficace de regrouper les mots en fonction de leurs caractères de début et de fin. En utilisant la compréhension du dictionnaire et la compréhension ultérieure de la liste, nous pouvons créer un dictionnaire de groupes et le remplir avec les mots correspondants.

Exemple

Dans l'exemple ci-dessous, nous définissons une fonction group_words qui prend une liste de mots en entrée. En utilisant une seule compréhension de liste, nous créons des groupes de dictionnaires initiaux avec toutes les clés définies sur des listes vides. Lors de la prochaine compréhension de la liste, nous parcourons chaque mot de la liste d'entrée. Pour chaque mot, nous accédons à la liste correspondante dans le dictionnaire en utilisant (mot[0], mot[−1]) comme clé et y ajoutons le mot.

语法

[expression for item in list if condition]
Copier après la connexion

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

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)
Copier après la connexion

输出

{('a', 'e'): ['apple', 'amazon grape'], ('b', 'a'): ['banana'], ('a', 't'): ['ant'], ('c', 't'): ['cat'], ('d', 'g'): ['dog'], ('e', 't'): ['elephant']}
Copier après la connexion
Copier après la connexion
Copier après la connexion

Conclusion

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

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

AI Hentai Generator

AI Hentai Generator

Générez AI Hentai gratuitement.

Article chaud

R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
1 Il y a quelques mois By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Meilleurs paramètres graphiques
1 Il y a quelques mois By 尊渡假赌尊渡假赌尊渡假赌
Will R.E.P.O. Vous avez un jeu croisé?
1 Il y a quelques mois By 尊渡假赌尊渡假赌尊渡假赌

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

PHP et Python: exemples de code et comparaison PHP et Python: exemples de code et comparaison Apr 15, 2025 am 12:07 AM

PHP et Python ont leurs propres avantages et inconvénients, et le choix dépend des besoins du projet et des préférences personnelles. 1.Php convient au développement rapide et à la maintenance des applications Web à grande échelle. 2. Python domine le domaine de la science des données et de l'apprentissage automatique.

Python vs JavaScript: communauté, bibliothèques et ressources Python vs JavaScript: communauté, bibliothèques et ressources Apr 15, 2025 am 12:16 AM

Python et JavaScript ont leurs propres avantages et inconvénients en termes de communauté, de bibliothèques et de ressources. 1) La communauté Python est amicale et adaptée aux débutants, mais les ressources de développement frontal ne sont pas aussi riches que JavaScript. 2) Python est puissant dans les bibliothèques de science des données et d'apprentissage automatique, tandis que JavaScript est meilleur dans les bibliothèques et les cadres de développement frontaux. 3) Les deux ont des ressources d'apprentissage riches, mais Python convient pour commencer par des documents officiels, tandis que JavaScript est meilleur avec MDNWEBDOCS. Le choix doit être basé sur les besoins du projet et les intérêts personnels.

Comment est la prise en charge du GPU pour Pytorch sur Centos Comment est la prise en charge du GPU pour Pytorch sur Centos Apr 14, 2025 pm 06:48 PM

Activer l'accélération du GPU Pytorch sur le système CentOS nécessite l'installation de versions CUDA, CUDNN et GPU de Pytorch. Les étapes suivantes vous guideront tout au long du processus: CUDA et CUDNN Installation détermineront la compatibilité de la version CUDA: utilisez la commande NVIDIA-SMI pour afficher la version CUDA prise en charge par votre carte graphique NVIDIA. Par exemple, votre carte graphique MX450 peut prendre en charge CUDA11.1 ou plus. Téléchargez et installez Cudatoolkit: visitez le site officiel de Nvidiacudatoolkit et téléchargez et installez la version correspondante selon la version CUDA la plus élevée prise en charge par votre carte graphique. Installez la bibliothèque CUDNN:

Explication détaillée du principe docker Explication détaillée du principe docker Apr 14, 2025 pm 11:57 PM

Docker utilise les fonctionnalités du noyau Linux pour fournir un environnement de fonctionnement d'application efficace et isolé. Son principe de travail est le suivant: 1. Le miroir est utilisé comme modèle en lecture seule, qui contient tout ce dont vous avez besoin pour exécuter l'application; 2. Le Système de fichiers Union (UnionFS) empile plusieurs systèmes de fichiers, ne stockant que les différences, l'économie d'espace et l'accélération; 3. Le démon gère les miroirs et les conteneurs, et le client les utilise pour l'interaction; 4. Les espaces de noms et les CGROUP implémentent l'isolement des conteneurs et les limitations de ressources; 5. Modes de réseau multiples prennent en charge l'interconnexion du conteneur. Ce n'est qu'en comprenant ces concepts principaux que vous pouvez mieux utiliser Docker.

Miniopen Centos Compatibilité Miniopen Centos Compatibilité Apr 14, 2025 pm 05:45 PM

Minio Object Storage: Déploiement haute performance dans le système Centos System Minio est un système de stockage d'objets distribué haute performance développé sur la base du langage Go, compatible avec Amazons3. Il prend en charge une variété de langages clients, notamment Java, Python, JavaScript et GO. Cet article introduira brièvement l'installation et la compatibilité de Minio sur les systèmes CentOS. Compatibilité de la version CentOS Minio a été vérifiée sur plusieurs versions CentOS, y compris, mais sans s'y limiter: CentOS7.9: fournit un guide d'installation complet couvrant la configuration du cluster, la préparation de l'environnement, les paramètres de fichiers de configuration, le partitionnement du disque et la mini

Comment faire fonctionner la formation distribuée de Pytorch sur CentOS Comment faire fonctionner la formation distribuée de Pytorch sur CentOS Apr 14, 2025 pm 06:36 PM

La formation distribuée par Pytorch sur le système CentOS nécessite les étapes suivantes: Installation de Pytorch: La prémisse est que Python et PIP sont installés dans le système CentOS. Selon votre version CUDA, obtenez la commande d'installation appropriée sur le site officiel de Pytorch. Pour la formation du processeur uniquement, vous pouvez utiliser la commande suivante: pipinstalltorchtorchVisionTorChaudio Si vous avez besoin d'une prise en charge du GPU, assurez-vous que la version correspondante de CUDA et CUDNN est installée et utilise la version Pytorch correspondante pour l'installation. Configuration de l'environnement distribué: la formation distribuée nécessite généralement plusieurs machines ou des GPU multiples uniques. Lieu

Comment choisir la version Pytorch sur Centos Comment choisir la version Pytorch sur Centos Apr 14, 2025 pm 06:51 PM

Lors de l'installation de Pytorch sur le système CentOS, vous devez sélectionner soigneusement la version appropriée et considérer les facteurs clés suivants: 1. Compatibilité de l'environnement du système: Système d'exploitation: Il est recommandé d'utiliser CentOS7 ou plus. CUDA et CUDNN: La version Pytorch et la version CUDA sont étroitement liées. Par exemple, Pytorch1.9.0 nécessite CUDA11.1, tandis que Pytorch2.0.1 nécessite CUDA11.3. La version CUDNN doit également correspondre à la version CUDA. Avant de sélectionner la version Pytorch, assurez-vous de confirmer que des versions compatibles CUDA et CUDNN ont été installées. Version Python: branche officielle de Pytorch

Comment exécuter des programmes dans Terminal Vscode Comment exécuter des programmes dans Terminal Vscode Apr 15, 2025 pm 06:42 PM

Dans VS Code, vous pouvez exécuter le programme dans le terminal via les étapes suivantes: Préparez le code et ouvrez le terminal intégré pour vous assurer que le répertoire de code est cohérent avec le répertoire de travail du terminal. Sélectionnez la commande Run en fonction du langage de programmation (tel que Python de Python your_file_name.py) pour vérifier s'il s'exécute avec succès et résoudre les erreurs. Utilisez le débogueur pour améliorer l'efficacité du débogage.

See all articles