У меня есть два больших списка.Извлечение (интервал) значений из нескольких словарей внутри одного большого списка и объединение их с соответствующими списками внутри другого большого списка
Первый - w_list; один большой список списков с (1) словом (например, «право»), (2) начальный id/tag (например, «# TWsp10») и (3) конечный id/tag (например, «# TWep10») , (Слова взяты из диалога между двумя ораторами). Начало w_list:
w_list = [['right', '#TWSp10', '#TWEp10'], ['_', '#TWSp11', '#TWEp11'], ['cough', '#TWSp12', '#TWEp12'], ['_', '#TWSp13', '#TWEp13'], ['go', '#TWSp14', '#TWEp14'], [...] , [...]]
Второй список (t_list) - это один большой список словарей. Словари состоят из (1) ключа «xml: id» с соответствующим значением id/tag (например, «TWsp10», «TWep10»), эти значения напоминают начальный и конечный идентификаторы/теги в w_list, то есть число dicts в t_list в два раза больше количества списков в w_list), (2) ключ «интервал» со значением, представляющим время, в котором произошло слово в диалоге, и (3) ключ «с», который не имеет значения. Начало t_list:
t_list = [{'interval': '0', 'xml:id': 'TWSp10', 'since': '#TW0'}, {'interval': '0.2108', 'xml:id': 'TWEp10', 'since': '#TW0'}, {'interval': '0.2108', 'xml:id': 'TWSp11', 'since': '#TW0'}, {'interval': '0.7049', 'xml:id': 'TWEp11', 'since': '#TW0'}, {'interval': '0.7049', 'xml:id': 'TWSp12', 'since': '#TW0'}, {'interval': '0.9223', 'xml:id': 'TWEp12', 'since': '#TW0'}, {'interval': '0.9223', 'xml:id': 'TWSp13', 'since': '#TW0'}, {'interval': '1.6568', 'xml:id': 'TWEp13', 'since': '#TW0'}, {'interval': '1.6568', 'xml:id': 'TWSp14', 'since': '#TW0'}, {'interval': '1.7886', 'xml:id': 'TWEp14', 'since': '#TW0'}, {...} , {...}]
Это пример вывода, что я хотел бы создать, какие-то намеки, чтобы получить меня на правильном пути/дорожки ?:
word: 'right' start: 0 end: 0.2108
word: '_' start: 0.2108 end: 0.1049
word: 'cough' start: 0.7049 end: 0.9223
''
''
, который является «похожи»:
'right' '#TWsp10': 0 '#TWsp10': 0.2108
'_' '#TWsp11': 0.2108 '#TWep11': 0.1049
'cough' '#TWsp12': 0.7049 '#TWep12: 0.9223
''
''
Создание слова, начальная и конечная строки с двоеточием определенно не проблема. Как извлечь значения интервалов из dicts (в t_list) и объединить их с их соответствующими/начальными идентификаторами/тегами из списков (в w_list).
Я ценю любые советы.
@ K.Wine Некоторые из слов встречаются несколько раз? Поскольку dict использует слово в качестве ключа, любое дублирующее слово будет потеряно. Но res может быть преобразован в список, если это так. – M4rtini
Фактически «-» произошло дважды в ваших данных примера. Поэтому я немного изменил сценарий. Можете ли вы добавить pastebin из полных данных или попытаться создать новый минимальный пример, где проблема присутствует? – M4rtini
Я не могу найти ни одного слова, отсутствующего, есть ли какое-то конкретное слово, которое, как вы знаете, отсутствует? Вы снова проверили последнее обновление? – M4rtini