[英]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]
的數組,它們將分別分配給num
和callout
。
現在,如果有一個 line = abcde
,那么 line.split(';') 只返回['abcde']
,它是一個單個元素列表,可以像您的語法一樣將其解壓縮為 2 個變量。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.