Я пытаюсь перебрать список списков в python 2.7.5 и вернуть те, где первое значение найдено во втором списке, примерно так:Найти совпадающие значения в списке списков с помощью python
#python 2.7.5
list1 = ['aa', 'ab', 'bb', 'bc', 'cc']
list2 = [['aa', 1, 3, 7],['de', 2, 2, 1],['bc', 3, 4, 4]]
list3 = []
for x in list1:
for y in list2:
if x == y:
list3.append(y)
Поэтому я бы хотел, чтобы list3 содержал [['aa',1,3,7],['bc', 3, 4, 4]]
, но вместо этого я просто получил весь список2.
А? Это не даст вам весь список «list2», это даст вам пустой список. Проверьте код еще раз. –
Существует ли конкретная причина, по которой вторая структура должна быть списком списков вместо, скажем, одного dict? – geoffspear
В этом случае я думаю, что было бы полезно сообщить нам, чего вы хотите достичь с помощью вашей программы/скрипта (а не только представленного фрагмента кода). Потому что на первый взгляд я бы предположил, что существуют лучшие структуры данных для решения вашей проблемы (например, dicts). – cyphorious