Объект 'int' не подлежит подписке // python проблема с матрицей - PullRequest
0 голосов
/ 02 февраля 2020

Я пытаюсь кодировать нижеприведенные инструкции и получаю в строке 3 объект "int" не подписывается ". Не могли бы вы помочь мне увидеть, что происходит? Заранее спасибо!

Инструкции: Для двух массивов целых чисел a и b возвращается значение True, если они имеют одинаковый первый элемент или имеют одинаковый последний элемент. Оба массива будут иметь длину 1 или более. то есть: common_end ([1, 2, 3], [7, 3]) → True

Код:

def common_end(a, b):
    if len(a)>=1 and len(b)>=1:
        if (a[0][0]==b[1][0] or a[0][len(a)-1]== b[0][len(b)-1]):----> Error Line
            return True
        else:
            return False
    else:
        return False

Ответы [ 2 ]

0 голосов
/ 02 февраля 2020

Вы пытаетесь получить доступ к плоскому списку, как если бы он был двумерным. a[0][0] найдет int в a[0] и cra sh, когда вы попытаетесь получить доступ к его «первому элементу», выполнив a[0][0].

Вместо этого вы должны использовать вложенный l oop где вы сравниваете номера списков.

0 голосов
/ 02 февраля 2020

Проблема в том, что вы дважды индексируете свои массивы (т.е. a[0][0]) - это будет работать только для многомерных массивов.

Чтобы получить первый элемент массива, вы можете сделать: a[0]

Чтобы получить последний элемент массива, вы можете сделать: a[-1]

Поэтому вы можете переписать строку 3 следующим образом:

if (a[0]==b[0] or a[-1]==b[-1]):
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...