Выбрать из многомерного списка по нескольким условием

Vitys

Новичок
Пользователь
Янв 14, 2022
24
0
1
Python:
a = [[[["k1",25],["k1",35]],[["k2",10],["k2",35]],[["s1",25],["s1",35]]]]
key = ["k1"]
ss = [[i for i in k if i[0][0]==key[0]]for k in a] # если key=одно значение, а как если несколько значений
print(ss)
Ответ: [["k1",25],["k1",35]]
Необходимо:
a = [[[["k1",25],["k1",35]],[["k2",10],["k2",35]],[["s1",25],["s1",35]]]]
key =  ["k1","s1"] #

Ответ: [["k1",25],["k1",35]],[["s1",25],["s1",35]]
ps: Я не программист, а архитектор.Просьба помочь в этом вопросе,а то затык.Спасибо
 

robisho

Активный пользователь
Пользователь
Окт 19, 2020
151
26
28
Python:
result_lst_k1 = []
result_lst_s1 = []
for element in a:
    for elem in element:
        for el in elem:
            if el[0] in key:
                if el[0] == 'k1':
                    result_lst_k1.append(el)
                else:
                    result_lst_s1.append(el)
print(f'{result_lst_k1}, {result_lst_s1}')
 
  • Мне нравится
Реакции: regnor

Vitys

Новичок
Пользователь
Янв 14, 2022
24
0
1
Python:
result_lst_k1 = []
result_lst_s1 = []
for element in a:
    for elem in element:
        for el in elem:
            if el[0] in key:
                if el[0] == 'k1':
                    result_lst_k1.append(el)
                else:
                    result_lst_s1.append(el)
print(f'{result_lst_k1}, {result_lst_s1}')
Спасибо, но у меня неработает(ответ нашел)
 

regnor

Модератор
Команда форума
Модератор
Июл 7, 2020
2 580
457
83
Спасибо, но у меня неработает(ответ нашел)
если не сложно, было бы неплохо показать ответ, который вы нашли
 

Vitys

Новичок
Пользователь
Янв 14, 2022
24
0
1
если не сложно, было бы неплохо показать ответ, который вы нашли
Python:
ss = []
for i in key:
    for f in a:
        for s in f:
            if s[0]==i:
    ss.append(s)
 

regnor

Модератор
Команда форума
Модератор
Июл 7, 2020
2 580
457
83
Python:
ss = []
for i in key:
    for f in a:
        for s in f:
            if s[0]==i:
    ss.append(s)
вам же подсказали тоже самое...
 

Форум IT Специалистов