2015-04-13 9 views
-2

Я работаю со списком (lst_data), содержащим пути к данным.Поисковые строки за индексом

Вот пример из моего списка

lst_data = ["SDE_AGS_ADM.PLUVIOMETRIE \ SDE_AGS_ADM.Pluviometres_DAVAR", 
      "SDE_AGS_ADM.AIRE_PROTEGE_GOUV \ SDE_AGS_ADM.reserves_integrales_R", 
      "SDE_AGS_ADM.DGRSC_Lignes_feu"] 

Давайте посмотрим на этот список.

Первый элемент содержит 2 ".", Второй элемент также содержит 2 ".", Но третий элемент содержит только одно ".".

Я пытаюсь получить персонажей после последнего "." каждый элемент списка.

Может ли кто-нибудь мне помочь?

Я уже пробовал использовать функцию count(). Но я запутался :-)

спасибо

+0

Что вы ожидаемый результат? –

ответ

0

Чтобы получить данные после последней периода ., используйте str.split() и взять последний элемент возвращаемого списка:

lst_data = ["SDE_AGS_ADM.PLUVIOMETRIE \ SDE_AGS_ADM.Pluviometres_DAVAR", 
      "SDE_AGS_ADM.AIRE_PROTEGE_GOUV \ SDE_AGS_ADM.reserves_integrales_R", 
      "SDE_AGS_ADM.DGRSC_Lignes_feu"] 
new = [item.split('.')[-1] for item in lst_data] 

>>> lst_data = ["SDE_AGS_ADM.PLUVIOMETRIE \ SDE_AGS_ADM.Pluviometres_DAVAR", 
...    "SDE_AGS_ADM.AIRE_PROTEGE_GOUV \ SDE_AGS_ADM.reserves_integrales_R", 
...    "SDE_AGS_ADM.DGRSC_Lignes_feu"] 
>>> new = [item.split('.')[-1] for item in lst_data] 
>>> new 
['Pluviometres_DAVAR', 'reserves_integrales_R', 'DGRSC_Lignes_feu'] 
>>> 
0

Вы ищете str.split(). Он возвращает массив строк, разделенных шаблоном из базовой строки. Вторая часть этой головоломки относится к последнему элементу массива: arr [-1] делает трюк. Ваш код будет выглядеть примерно так:

list = ["i.want.pie","i.want.icecream","i.want.thirdthing"] 
listofwhatiwant = [x.split(".")[-1] for x in list] 

listofwhatiwant теперь есть «пирог», «мороженое», и «thirdthing» в нем.

См. Пример работы here.

Смежные вопросы