2010-11-04 2 views
0

Я должен найти индекс элемента из списка слов. Функция:, работающий по спискам, найти индекс, python

def index(lst_words, word): 

должен возвращать индекс word в lst_words. , например.

>>> index (['how, 'to', 'find'], ['how']) 

Шоуда вернуться 0 почему это один не работает для меня?

def index (lst_words, word): 
    find = lst_words.index(word) 
    return find 

ответ

1
>>> def index(lst_words, word): 
     find = lst_words.index(word) 
     return find 

>>> x = ['hello', 'foo', 'bar'] 
>>> index(x, 'bar') 
2 

Это то, что вы, вероятно, имели в виду. Если вы хотите найти позицию bar, вы передаете bar в качестве параметра строки, а не списка. У вас есть список строк, список строк.

Разница заключается в том:

>>> x = ['bar'] 
>>> type(x) 
<type 'list'> 
>>> x = 'bar' 
>>> type(x) 
<type 'str'> 

Так что вы пытаетесь сделать, будет работать, если элемент в списке был еще один список.

>>> x = ['hello', 'foo', ['bar']] 
>>> index(x, ['bar'])   # since bar is a list not a string 
2 
3

Вы, вероятно, имел в виду

[ 'как', 'к', 'найти']. Индекс ('как').

НЕ

[ 'как', 'к', 'найти']. Индекс ([ 'как'])

Это не поиск строки, она ищет al ист. Было бы соответствовал

[ 'как', 'к', 'найти', [ 'как']]. Индекс ([ 'как'])

+0

Я сожалею, но нет, результат whoud быть так же, как индекс ([ «как„к“,„найти“], [» как «])» – Gusto

+1

@Gusto: Результат должен быть 0 , который возвращает код. – MAK

+0

Возможно, если бы вы сказали '[['how'], 'to', 'find']. Index (['how'])' работал бы и возвращал '0', OP лучше понимал бы. – martineau

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