Уведомления

Группа в Telegram: @pythonsu

#1 Июнь 11, 2018 07:07:07

ewro
Зарегистрирован: 2017-11-03
Сообщения: 39
Репутация: +  0  -
Профиль   Отправить e-mail  

Получение индексов строк, содержащих слово

Есть список:

 a = ['1',['2', '5', '3'],'3','3','4','5','4','3','2','1']
Нужно найти индексы этого списка в которых содержится “2”.
Делаю так:
 import pandas as pd
a = ['1',['2', '5', '3'],'3','3','4','5','4','3','2','1']
aa = pd.DataFrame(a)
dx= aa.index[aa[0] == '2'].tolist()
print(dx)
Находит только 8(восьмой) индекс.
Как заставить найти индекс “2 5 3”

Отредактировано ewro (Июнь 11, 2018 07:53:45)

Офлайн

#2 Июнь 11, 2018 07:27:21

doza_and
От:
Зарегистрирован: 2010-08-15
Сообщения: 4138
Репутация: +  253  -
Профиль   Отправить e-mail  

Получение индексов строк, содержащих слово

:) Например корректно так:

print([1,8])

Вы недостаточно четко поставили задачу путем приведения одного примера. Для этого примера мой рецепт работает. Но неясно что еще там у вас может быть.
Какие из этих примеров подходят под ваше определение “содержится”?

 "325"
2
"3-1"
[["2"]]
["5","2"]
{"2":"3"}
{"3":"2"}
T_some_class(2)
"Жили у бабуси два веселых гуся."
....

От этого зависит решение задачи.

На мой взгляд в данном случае глупо совать в список разнородные элементы.



Офлайн

#3 Июнь 11, 2018 07:45:58

ewro
Зарегистрирован: 2017-11-03
Сообщения: 39
Репутация: +  0  -
Профиль   Отправить e-mail  

Получение индексов строк, содержащих слово

В принципе нужно вот что.
Имеется список:
“маша мыла”
“раму сама”
“но маша”
“сама не”
“мыла раму”
Требуется найти индексы строк в которых встречается слово “маша”, т.е.

 Index = [0, 2]

Отредактировано ewro (Июнь 11, 2018 07:47:17)

Офлайн

#4 Июнь 11, 2018 08:15:57

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

Получение индексов строк, содержащих слово

  
>>> a = ['1', ['2',  '5',  '3'], '3', '3', '4', '5', '4', '3', '2', '1']
>>> out = [index for index, value in enumerate(a) if '2' in value]
>>> out
[1, 8]
>>>



Офлайн

#5 Июнь 11, 2018 08:25:52

ewro
Зарегистрирован: 2017-11-03
Сообщения: 39
Репутация: +  0  -
Профиль   Отправить e-mail  

Получение индексов строк, содержащих слово

py.user.next, Спасибо! Как из пушки!

Офлайн

Board footer

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

Powered by DjangoBB

Lo-Fi Version