adrayline 2, in make_set
return set(itertools.chain(*map(lambda x: x.split(), names)))
NameError: global name ‘itertools’ is not defined
adrayline 2, in make_set
paraman
import itertools
for word1 in list1:
for word2 in list2:
if word1 == word2:
print word
for word1 in list1: for word2 in list2:
se1.intersect(set2)
adrayУгу, уже разобрался, но спасибо.
for word1 in list1: for word2 in list2: if word1 == word2: print word
lorienВы мой пример видели?
> В общем есть два списка слов, нужно в них найти совпадающие слова. Так более понятно?
adrayМне кажется Вы не очень внимательно посмотрели в мой код
Если списки большие, то лучше из них сделать по множеству:

adray
FishHook, отнюдъ, я его даже запускалУ Вас получается два списка маленьких множеств, и пересекается каждое множество из первого с каждым из второго. я предложил объединить все множества из списка в одно
return set(itertools.chain(*map(lambda x: x.split(), names)))
paramanfilter
А как в строчку
return set(filter(lambda w: len(w) > 2, itertools.chain(*map(lambda x: x.split(), names))))
adray
FishHook, отнюдъ, я его даже запускалУ Вас получается два списка маленьких множеств, и пересекается каждое множество из первого с каждым из второго. я предложил объединить все множества из списка в одно
name = ['AC Python', 'Mini GO', 'IronPython .NET', 'F# .Net Good'] name2 = ['Python GO', 'Java AC', 'C# .Net Good', 'VB .Net', 'PHP Shit']
set(['Python', 'GO', 'AC', '.Net', 'Good'])
[{'name2': 'Python GO', 'name': 'Python AC', 'common': 'Python'}, {'name2': 'AC Java', 'name': 'Python AC', 'common': 'AC'}, {'name2': 'Python GO', 'name': 'GO Mini', 'common': 'GO'}, {'name2': 'C# .Net Good', 'name': '.Net F# Good', 'common': '.Net,Good'}, {'name2': 'VB .Net', 'name': '.Net F# Good', 'common': '.Net'}]