Что мне нужно изменить в своем коде, чтобы исправить это сообщение об ошибке?

#python #jupyter-lab

Вопрос:

Каждый раз, когда я пытаюсь запустить свой код, я, кажется, получаю это сообщение об ошибке и, похоже, не могу его исправить. Кто-нибудь знает, что он пытается сказать мне, чтобы я изменился?

 trials = 10000
num_different = 0
for i in np.arange(trials):
    words = np.random.choice(p_and_p_words, 2)
    if len(words.item(0)) != len(words.item(1)) != len(words.item(2)) != len(words.item(0)):
        num_different = num_different   1
num_different = num_different / trials
num_different
 
 IndexError: index 2 is out of bounds for axis 0 with size 2
 

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

1. В сообщении об ошибке говорится, что вы пытаетесь получить третий элемент, но их только два. В предыдущей строке вы выбираете два случайных слова, чтобы они совпадали…

2. Мне кажется words , в нем всего 2 элемента, поэтому words.item(2) он терпит неудачу. Кстати, я не увлекаюсь python, но a != b != c != d работает ли это? Разве вам не нужны отдельные and блоки? Что , если a != b , b != c но a == c ?

3. В нем всего 2 элемента, потому что именно столько вы просите в np.random.choice вызове