У меня есть два списка, то первые из них содержит имена народов, с каждым человеком, связанным с различными символами, например, цифры, буквы, например:Сортировать и фильтровать список на основе элементов из второго списка
listNameAge = ['alain_90xx', 'fred_10y', 'george_50', 'julia_10l','alain_10_aa', 'fred_90', 'julia_50', 'george_10s', 'alain_50', 'fred_50', 'julia_90']
второй содержит имя лица:
listName = ['fred', 'julia', 'alain', 'george']
Использование второго списка, я хотел бы присоединиться третий список к первому, таким образом, что каждое имя в первом списке связано с его позиции с индексом во втором, то есть:
thirdlist = [2, 0, 3, 1, 2, 0, 1, 3, 2, 0, 1]
Имя и символы разделены знаком подчеркивания, но символ может быть любого типа. Я мог бы перебрать элементы из listNameAge
, отделить имена лиц от остальных символов, используя строку .split('_')
, найти ее имя и найти ее индекс в listName
, используя второй цикл.
Мне было интересно, есть ли более простой способ сделать это, т. Е. Избегать использования цикла и использовать только список понятий?
Обратите внимание, что список понимания (что я предполагаю, что вы имели в виду) по-прежнему включает в себя цикл. – jonrsharpe
Привет, да, я имел в виду понимание списка. То, что я хотел бы избежать, это «для циклов» – gregory
И всевозможные списки ** по-прежнему связаны с циклами **. Я бы порекомендовал вам использовать словарь '{name: index}', чтобы избежать плохой временной сложности ответов. – jonrsharpe