я имею переменную «actorslist» и его выход 100 строк этого (строка для каждого фильма):Создать массив перестановок из списка списков
[u'Tim Robbins', u'Morgan Freeman', u'Bob Gunton', u'William Sadler']
[u'Christian Bale', u'Heath Ledger', u'Aaron Eckhart', u'Michael Caine']
etc.
Тогда у меня есть:
pairslist = list(itertools.permutations(actorslist, 2))
Это дает мне пары актеров, но только в определенном фильме, а затем после новой строки он переходит к следующему фильму. Как я могу получить его для вывода всех актеров из всех фильмов в одном большом массиве? Идея состоит в том, что два актера, которые были вместе в фильме, должны получить преимущество pydot.
Я положил в это, который успешно выводится в файл точек, но не выводит правильные данные.
graph = pydot.Dot(graph_type='graph', charset="utf8")
for i in pairslist:
edge = pydot.Edge(i[0], i[1])
graph.add_edge(edge)
graph.write('dotfile.dot')
Мой ожидаемый результат должен быть следующим в файле точек (A, B) является такой же, как (B, A) и поэтому не существует на выходе:
"Tim Robbins" -- "Morgan Freeman";
"Tim Robbins" -- "Bob Gunton";
"Tim Robbins" -- "William Sadler";
"Morgan Freeman" -- "Bob Gunton";
"Morgan Freeman" -- "William Sadler";
"Bob Gunton" -- "William Sadler";
"Christian Bale" -- "Heath Ledger";
"Christian Bale" -- "Aaron Eckhart";
"Christian Bale" -- "Michael Caine";
"Heath Ledger" -- "Aaron Eckhart";
"Heath Ledger" -- "Michael Caine";
"Aaron Eckhart" -- "Michael Caine";
ДОПОЛНИТЕЛЬНАЯ ИНФОРМАЦИЯ:
некоторые были заинтересованы в том, как переменная actorslist
была создана:
file = open('input.txt','rU') ###input is JSON data on each line{"Title":"Shawshank...
nfile = codecs.open('output.txt','w','utf-8')
movie_actors = []
for line in file:
line = line.rstrip()
movie = json.loads(line)
l = []
title = movie['Title']
actors = movie['Actors']
tempactorslist = actors.split(',')
actorslist = []
for actor in tempactorslist:
actor = actor.strip()
actorslist.append(actor)
l.append(title)
l.append(actorslist)
row = l[0] + '\t' + json.dumps(l[1]) + '\n'
nfile.writelines(row)
Можете ли вы, пожалуйста, показать ожидаемый результат? Не совсем понятно, чего вы пытаетесь достичь. – thefourtheye