Как распечатать этот список списков? - PullRequest
1 голос
/ 23 апреля 2020
count: int = 0
while count < len(stocksOwned):
    print(stocksOwned[count][count][0],'\nsakuma cena-',stocksOwned[count][count][1])
    count += 1

stocksOwned = [[['Microsoft', 150, 0.01, 0, 0]], [['Tesla', 710, 0.0424, 0, 0]]]

Трассировка: печать (stocksOwned [0] [count] [0], '\ nsakuma cena -', stocksOwned [0] [count] [1]) IndexError: список индекса вне диапазона

Я не могу понять, почему индекс находится вне диапазона. Я знаю, что индексирование начинается с 0. Чего я здесь не вижу или не понимаю?

Ответы [ 3 ]

1 голос
/ 23 апреля 2020

Вы звоните stocksOwned[count][count], и это приводит к ошибке, основанной на stocksOwned = [[['Microsoft', 150, 0.01, 0, 0]], [['Tesla', 710, 0.0424, 0, 0]]]. Используйте следующий код:

while count < len(stocksOwned):
    print(stocksOwned[count][0][0],'\nsakuma cena-',stocksOwned[count][0][1])
    count += 1
1 голос
/ 23 апреля 2020

На самом деле это список списков списков ... Вот как вы печатаете:

for stock in stocksOwned:
     print(stock[0][0],'\nsakuma cena-',stock[0][1])

Вы можете иметь в виду:
stocksOwned = [['Microsoft', 150, 0.01, 0, 0], ['Tesla', 710, 0.0424, 0, 0]] (список списков)

0 голосов
/ 23 апреля 2020

Ваше второе измерение списка имеет только 1 индекс.

stocksOwned[count][0][0]

даст вам правильное значение. Наличие stocksOwned[count][count][0] сделает его индексом следующего списка, которого там нет.

stocksOwned[0]
[['Microsoft', 150, 0.01, 0, 0]]
stocksOwned[0][0]
['Microsoft', 150, 0.01, 0, 0]
stocksOwned[0][0][0]
'Microsoft'

Вот как это выглядит. поэтому индексирование 1 в середине приведет к ошибке.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...