簡體   English   中英

錯誤提示“沒有足夠的值來解壓預期 2 得到 1”

[英]Error saying 'Not enough values to unpack Expected 2 got 1'

tambola_callout = {}
for line in open("bingo-call-out.txt"):
    num, callout = line.split(";")
    tambola_callout[num] = callout

不知道是什么問題,我該怎么辦?

這一行:

num, callout = line.split(';')

期望您對split的調用將返回正好包含兩個元素的列表。 如果您在分配期間嘗試解壓縮過少或過多的值,Python 將出錯。

例如,這將返回一個元素列表:

'something'.split(';')  # == ['something']

確保你的字符串是你所期望的。

它只是意味着您的文件bingo-call-out.txt中的其中一行的格式為<all characters here>而不是<some characters here>;<some characters here>

這個錯誤的意思是,在一般情況下,假設 line = abcd;efgh

line.split(";")將返回一個包含兩個元素[abcd,efgh]的數組,它們將分別分配給numcallout

現在,如果有一個 line = abcde ,那么 line.split(';') 只返回['abcde'] ,它是一個單個元素列表,可以像您的語法一樣將其解壓縮為 2 個變量。

暫無
暫無

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

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