Top.Mail.Ru

Перечень алгоритмов

25. Строки. Вывести все различные слова в тексте

s= 'Лучше промолчать, чем сказать и потом жалеть о том, что сказал; лучше промолчать, чем сказать необдуманно.'

Способ 1. Использование метода replace() и метода split()

s= s.replace('.','')
s= s.replace(
',','')

s= s.replace(';','')
s= s.replace(
' ','')
s = s.lower()
m = s.split(
' ')
print(m)
a =[]
for x in m:
  
if x not in a and len(x) > 1:
       a.append(x)
print(a)

#['лучше', 'промолчать', 'чем', 'сказать', 'и', 'потом', 'жалеть', 'о', 'том', 'что', 'сказал', 'лучше', 'промолчать', 'чем', 'сказать', 'необдуманно']

# ['лучше', 'промолчать', 'чем', 'сказать', 'потом', 'жалеть', 'том', 'что', 'сказал', 'необдуманно']


Способ № 2 Использование словаря

d = {x:m.count(x) for x in set(m) if len(x) > 1}
a=
list(d)
print(a)

# ['том', 'потом', 'что', 'чем', 'промолчать', 'сказать', 'лучше', 'жалеть', 'сказал', 'необдуманно']

Способ 3 Использование множества


s= s.lower()
d = [x
for x in set(s.split()) if len(x) > 1 ]
print(d)
# ['что', 'лучше', 'сказать', 'чем', 'жалеть', 'потом', 'промолчать,', 'том,', 'сказал;', 'необдуманно.']