Вопрос об индексировании Python в функции

#python

#питон

Вопрос:

может ли кто-нибудь объяснить построчно, что происходит здесь в этой функции? В частности, номера индексов, которые вы видите рядом с возвратом, и как они имеют смысл?

 def animal_crackers(text):  wordlist = text.split()  return wordlist[0][0] == wordlist[1][0]  

Комментарии:

1. Это просто список строк. У вас есть один список, к которому вы обращаетесь wordlist[index] , и этот индекс содержит строку, в которой вы можете получить доступ к отдельным символам через wordlist[index][other_index] .

2. @RandomDavis нет, перечислите список

3. Совпадает ли первая буква первого слова с первой буквой второго слова?

Ответ №1:

  • text это str
  • wordlist будучи списком слов, .split() разделенных пробелами
  • wordlist[0] первое слово, wordlist[0][0] первый символ первого слова
  • wordlist[1] второе слово, wordlist[1][0] первый символ второго слова

Таким образом, вы проверяете, совпадает ли первый символ из 2 первых слов

 print(animal_crackers("wa wb")) # True print(animal_crackers("va wb")) # False  

Более подробная информация

 animal_crackers("wabc wdef")  text= 'wabc wdef' wordlist= ['wabc', 'wdef'] wordlist[0]= 'wabc'  wordlist[0][0]= 'w'  wordlist[1]= 'wdef'  wordlist[1][0]= 'w'  

Ответ №2:

str.split() возвращает список строк. Например "I am hungry".split() , возвращает [«Я», «есть», «голод»].

str[index] возвращает символ с этим индексом. Поэтому "Foo"[0] возвращает «F».

So wordlist[0] возвращает первую строку в тексте, который был разделен, и таким wordlist[0][0] образом возвращает первый символ первого слова in text . So wordlist[0][0] == wordlist[1][0] возвращает значение true, если первое и второе слово text начинаются с одной и той же буквы.

Ответ №3:

скажем, например,

 text = "This is my text"  

Тогда text.split() это:

 `['This', 'is', 'my', 'text']`  

Этот список присваивается переменной wordlist .

wordlist[0] есть This , wordlist[1] есть is и так далее.

Второй индекс относится к буквам в каждом слове.

так wordlist[0][0] есть T , wordlist[0][1] есть h и т. Д.

wordlist[0][0] == wordlist[1][0] спрашивает, совпадает ли первая буква первого слова с первой буквой второго слова.

В примере This is my text это не так , поэтому функция вернется False .

Ответ №4:

 wordlist = text.split() return wordlist[0][0] == wordlist[1][0]  

Первая строка разбивает текст на список и сохраняет его значение в списке переменных слов. и вторая строка проверяет, совпадает ли первая буква первого слова с первой буквой во втором слове. Принцип работы заключается в том, что первый индекс представляет слово, а второй индекс представляет букву в этом слове. например

 text = "Hello there" wordlist = text.split() print(wordlist[0]) #Returns "Hello" print(wordlist[0][0]) #Returns "H" print(wordlist[1][0]) #Returns "t"  

и так далее.

Надеюсь, мой ответ был полезен.