1 回答

TA貢獻(xiàn)2080條經(jīng)驗(yàn) 獲得超4個(gè)贊
這是我重新編碼您的圖形生成器的方法;使用csv模塊和collections.defaultdict類使代碼大大更易讀:
import csv
from collections import defaultdict
def generateGraph(fileName):
heroDict = defaultdict(list)
with open(fileName, 'rb') as inFile:
reader = csv.reader(inFile, delimiter='\t')
for row in reader:
name, comic = row[:2]
heroDict[comic].append(name)
graph = defaultdict(list)
for names in heroDict.itervalues():
for name in names:
graph[name].extend(n for n in names if n != name)
print graph
return graph
此處無需使用集。注意,我使用了更有意義的變量名。盡量避免i和j除非它們是整數(shù)索引。
添加回答
舉報(bào)