Уведомления

Группа в Telegram: @pythonsu

#1 Июль 28, 2014 17:56:08

NOK
От:
Зарегистрирован: 2011-07-20
Сообщения: 11
Репутация: +  0  -
Профиль   Отправить e-mail  

Поиск во вложеном списке (списке списков)

Всем привет!

Такой вопрос - нужно найти номер списка в списке, по значению.
В одноменрных списках для этого используется функция index().
Поиск нуджно провести по первому элементу всех списков.

Заранее спасибо за ответ.



Офлайн

#2 Июль 28, 2014 18:16:19

Paranoia_Agent
Зарегистрирован: 2014-06-25
Сообщения: 75
Репутация: +  5  -
Профиль   Отправить e-mail  

Поиск во вложеном списке (списке списков)

Можно пройтись по списку самому:

a=[[1,2,3,4,5],[6,7,8,9,10]]
for index in range(len(a)):
	if a[index][0]==6:
		print(index)

Офлайн

#3 Июль 28, 2014 18:28:33

NOK
От:
Зарегистрирован: 2011-07-20
Сообщения: 11
Репутация: +  0  -
Профиль   Отправить e-mail  

Поиск во вложеном списке (списке списков)

Paranoia_Agent
Можно пройтись по списку самому:
К сожаленью, слишком много элементов в списке. Если я буду пробегаться в ручную, это займет слишком много времени.
Но в любом случае, спасибо за ответ и код. Если не найду ничего другого, воспользуюсь этим ;)



Офлайн

#4 Июль 28, 2014 19:53:47

bismigalis
Зарегистрирован: 2010-10-02
Сообщения: 449
Репутация: +  47  -
Профиль   Отправить e-mail  

Поиск во вложеном списке (списке списков)

filter(lambda x: x is not None, 
       map(lambda x: x[0] if x[1][0] == 1 else None ,
           enumerate([[1,2,3],[4,5,6]])))

Отредактировано bismigalis (Июль 28, 2014 19:56:19)

Офлайн

#5 Июль 28, 2014 23:11:58

py.user.next
От:
Зарегистрирован: 2010-04-29
Сообщения: 10015
Репутация: +  857  -
Профиль   Отправить e-mail  

Поиск во вложеном списке (списке списков)

>>> lst = [[1, 2, 3],
...        [2, 3, 4],
...        [3, 4, 5],
...        [4, 5, 6],
...        [5, 6, 7]]
>>> 
>>> [i[0] for i in lst].index(3)
2
>>>



Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version