fs = codecs.open('grammar_new.txt', encoding='utf-8')
unidata=[]
d={}
fr=codecs.open('rule.txt', 'w')
for line in fs:
line_data=line.split()
for i in range(0,len(line_data)):
unidata.append(line_data[i])
d = defaultdict(unidata)
при выполнении этого кода будет генерировать ошибку как d = defaultdict (UniData) TypeError: первый аргумент должно быть callable..I хочет хранить дубликаты ключей в словареTypeError: первый аргумент должен быть отозван
Ну, это не так, как работает 'defaultdict'. Но что вы хотите быть вашими ключами (или, альтернативно, значениями)? У вас просто есть «список» строк ... – roippi
Можете ли вы дать более подробную информацию о том, как выглядят данные линии и что вы хотите в качестве ответа? – mgilson
Фактически unidata - это список, содержащий [[u'NP ---> ', u'N_NNP'], [u'NP ---> ', u'N_NN_S_NU'], [u'NP ---> ', u'N_NNP '], [u'NP --->', u'N_NNP '], [u'VGF --->', u'V_VM_VF '], [u'NP --->', u ' N_NN ']] Я должен хранить их в словаре. – Dhanya