как в python сделать выборку в двумерном массиве по совпадению в определенном элементе?
Есть двумерный массив, каждая строка состоит из 8 элементов. при этом значения из 8 элемента могут встречаться и в других. надо разделить весь массив на суб-массивы, по 8 элементу. я сделал так, все значения из 8 элемента собрал в отдельный массив и сделал его значения уникальными (unique_value = set(text)). далее прогоняю основной массив через словарь, с условием искать по элементу с индексом [7]
sub_array = []
for uniq_val in unique_name:
for item in dep_array:
search_value = item[7]
if uniq_val == search_value:
zagses_arr.append(item)
# print(item)
print(len(zagses_arr)) # Для контроля
Но поиск производится по всем элементам. чет всю голову поломал, не пойму почему не производится поиск по определенному элементу для примера, массив такого вида
['14', 'брак', '123123', '15.06.2010', '12', '15.04.2024', 'отдел ЗАГС центрального района', 'отдел ЗАГС центрального района']
['14', 'брак', '123725', '16.06.2010', '1', '25.01.2024', 'Отдел ЗАГС прибрежного района', 'отдел ЗАГС центрального района']
['14', 'брак', '123888', '24.11.2019', '2', '14.01.2024', 'отдел ЗАГС центрального района', 'другой сельский отдел ЗАГС']
В данном случае при выполнении кода поиск будет производиться по всем элементам массива, а надо, чтобы поиск был по элементу с инд.7 Что не так в этом коде?
Ответы (1 шт):
adata = [ ['14', 'брак', '123123', '15.06.2010', '12', '15.04.2024', 'отдел ЗАГС центрального района', 'отдел ЗАГС центрального района'],
['14', 'брак', '123725', '16.06.2010', '1', '25.01.2024', 'Отдел ЗАГС прибрежного района', 'отдел ЗАГС центрального района'],
['14', 'брак', '123888', '24.11.2019', '2', '14.01.2024', 'отдел ЗАГС центрального района', 'другой сельский отдел ЗАГС']
]
res = {}
for el in adata:
if res.get(el[7]):
res[el[7]].append(el)
else:
res[el[7]] = [el]
print(res)
{'отдел ЗАГС центрального района': [['14', 'брак', '123123', '15.06.2010', '12', '15.04.2024', 'отдел ЗАГС центрального района', 'отдел ЗАГС центрального района'], ['14', 'брак', '123725', '16.06.2010', '1', '25.01.2024', 'Отдел ЗАГС прибрежного района', 'отдел ЗАГС центрального района']],
'другой сельский отдел ЗАГС': [['14', 'брак', '123888', '24.11.2019', '2', '14.01.2024', 'отдел ЗАГС центрального района', 'другой сельский отдел ЗАГС']]}