Найти слово, состоящее только из различных символов

508 просмотра
0
0 Комментариев

Как найти слово, состоящее только из различных символов? Если таких слов несколько, найти первое из них.

Например: Например, строка имеет слова с разными символами (am, studying, new, and, want, to, learn, lot)

string = "I am studying programming. I'm new and I want to learn a lot."

Но есть несколько, мне нужно найти первый (am).

Пожалуйста, как можно найти?


Добавить комментарий

2 Answers

Python Опубликовано 12.12.2018
0

Вот сделел как советовал ВОРОН

#!/usr/bin/env python3
#-*- coding: utf-8 -*-
 
# Как найти слово, состоящее только из различных символов? Если таких слов несколько, найти первое из них.
 
all_word = "I am studying programming. I'm new and I want to learn a lot." # Задаем строку в которой будем искать слова
matrix=all_word.split() # преобразуем строку в список
for one_word in matrix: # Перебираем все слова в списке
    if len(one_word)>1: # отбрасываем слова короче 2х символов
        if len(set(one_word)) == len(one_word): # проверяем повторяются ли символы в слове
            print(one_word)

Добавить комментарий
0

Ответ зависит от того, что вы понимаете под символом, например, если символ это Unicode codepoint, то:

word = next(w for w in words if len(w) == len(set(w)))

Если хочется буквы, видимые пользователю, считать:

import regex as re # pip install regex
 
chars = lambda word: re.findall(r'\X', word)
word = next(w for w in words if len(chars(w)) == len(set(chars(w))))

Процедура разбиения текста на слова зависит от задачи, например:

>>> words = re.findall(r'\w+', string)
>>> words
['I', 'am', 'studying', 'programming', 'I', 'm', 'new', 'and', 'I', 'want', 'to', 'learn', 'a', 'lot']

Добавить комментарий
Напишите свой ответ на данный вопрос.
Scroll Up