#python-3.x
#python-3.x
Вопрос:
new_dict = [{‘достоверность’: 0.7181452631261411, ‘предложение’: ‘В общем, работа из дома не разрешена из-за сложности обязанностей, а также инфраструктурных и других проблем, которые возникают, если руководитель работает где-либо за пределами офисных помещений ‘, ‘извлечение’: {‘arg1’: {‘текст’: ‘другие проблемы’, ‘смещения’: [[53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68]]}, ‘ rel’: {‘текст’: ‘возникают’, ‘смещения’: [[75, 76, 77, 78, 79]]}, ‘ arg2s’: [], ‘context’: None, ‘negated’: False, ‘passive’: False}}, {‘confidence’: 0.7181452631261411, ‘sentence’: ‘В общем, работа из дома запрещена из-за сложности обязанностей, а также инфраструктурных и других проблем, которые возникают, если руководитель функционирует где-либо за пределами офисных помещений ‘, ‘extraction’: {‘arg1’: {‘text’: ‘ инфраструктурные проблемы», «смещения’: [[53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78]]}, ‘ rel’: {‘текст’: ‘возникают’, ‘смещения’: [[85, 86, 87, 88, 89]]}, ‘ arg2s’: [], ‘context’: Нет, ‘negated’: False, ‘passive’: False}}]
if len(new_dict) == 0:
yield sent
else:
for dict_value in new_dict:
for second_list in dict_value['extraction']['arg2s']:
test = "".join(str(x) for x in dict_value['extraction']['arg1']['text'] " " dict_value['extraction']['rel']['text'])
arg2 = "".join(second_list['text'])
new_result = "".join(filter(None,test " " arg2))
yield new_result
Я хочу объединить все строки, которые присутствуют в текстовом поле. Кто-нибудь может мне помочь.
Я ожидаю результата в виде
[«возникают другие проблемы»,
«возникают инфраструктурные проблемы»]
Ответ №1:
Я надеюсь, что это сработает.
conc=[]
for i in new_dict:
text=i['extraction']['arg1']['text'] " " i['extraction'] ['rel']['text']
for j in i['extraction']['arg2s']:
text=text " " j['text']
conc.append(text)
Комментарии:
1. Я хочу, чтобы список ‘arg2s’: [] необходимо учитывать, потому что иногда он содержит текстовое поле, которое мне нужно объединить.
2. Вы можете использовать try, за исключением, но дело в том, что arg1 — это словарь, а arg2 — это список, нужно немного больше информации об arg2, если вы можете предоставить пример arg2 с текстом, это будет легко.
3. Большое вам спасибо за ваш ответ. Из-за предельного размера charector’а я не могу опубликовать здесь y-данные. Я прикрепляю ссылку на colabedit. Пожалуйста, просмотрите мой код и помогите мне, правильно ли я извлекаю строку или нет. collabedit.com/7k2pm