簡體   English   中英

如何打印此列表列表?

[英]How do I print out this list of lists?

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]]]

Traceback: print(stocksOwned[0][count][0],'\nsakuma cena-',stocksOwned[0][count][1]) IndexError: list index out of range

我似乎無法弄清楚為什么索引超出范圍。 我知道索引從 0 開始。我在這里沒有看到或理解什么?

這實際上是列表列表的列表...這是您的打印方式:

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]] (列表列表)

您正在調用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 個索引。

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 會引發錯誤。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM