Добрый вечер!
У меня возникла проблема с написанием программы. ее цель вывести каждое слово исходного текста один раз, независимо от того сколько раз слово употребляется в тексте.
Не могли бы вы помочь мне в написании программы?
text = 'слово1 слово2 слово2 слово3' words = list(set(text.split(' '))) for word in words: print word
>>> s = 'one two three four one two three five' >>> >>> ws = set() >>> >>> lst = [w for w in s.split() ... if w not in ws and ws.add(w) is None] >>> lst ['one', 'two', 'three', 'four', 'five'] >>>
from string import punctuation as punct import re with open('text.txt', 'r') as infile: words = list(set(re.split('[{}]\s+'.format(punct), infile.read()))) for word in words: print(word)

Python 2.7.3 (default, Mar 13 2014, 11:03:55) [GCC 4.7.2] on linux2 Type "help", "copyright", "credits" or "license" for more information. >>> print('Test') Test >>>
ActivePython 2.7.5.6 (ActiveState Software Inc.) based on Python 2.7.5 (default, Sep 16 2013, 23:16:52) [MSC v.1500 32 bit (Intel)] on win 32 Type "help", "copyright", "credits" or "license" for more information. >>> print('Test') Test >>>
Singularityслова выбираются в том же порядке, в котором стоят в тексте
зачем проверить нет ли в множестве этого элемента?
Singularityэто если порядок не важен
Тогда можно просто list
valentjediругается на нулевую длину имени в поле
Dima_VlasovМожно так:
Dima_Vlasovа как можно сделать чтобы после написанной мной части программы сразу шла сортировка? предложенные варианты не работают, выходят ошибки
а если текст задан файлом txt?f=open('text.txt','r')s=f.read()f.closea=“”“”“”for i in s: if i=='.' or i==',' or i==';' or i==':' or i=='"' or i=='-' or i=='?' or i=='!': pass else: a+=iвот после этого я пытаюсь сделать выполнение программы,и результат вывести на экран.я убираю знаки из текста,а после идет сортировка