python - “ValueError:需要超过 X 值来解包”迭代不完整元组的 Python 方式?
问题描述
我有一个图像列表,我想在 html 中为其生成一行 3。我将图像列表打包成 3 个元组。这仍然提供了预期的输出!但我想让它正确并正确地完成 pythonic 方式。
我相信这是因为我有一个不能被三整除的图像列表,所以当里面没有三个图像的元组时会引发错误。
我将如何抑制此错误,因为它仍然有效。或者我如何编写我的代码清理器以不产生这个错误并且仍然有相同的结果?
不断收到此错误:
Traceback (most recent call last):
File "images.py", line 40, in <module>
main()
File "images.py", line 31, in main
for i,j,k in images:
ValueError: need more than 2 values to unpack
Traceback (most recent call last):
File "images.py", line 40, in <module>
main()
File "images.py", line 31, in main
for i,j,k in images:
ValueError: need more than 1 value to unpack
代码:
images = [images[i:i+3] for i in range(0,len(images), 3)]
html = title+".html"
with open(html, "w") as post:
post.write(title+'\n\n')
for i,j,k in images:
post.write('<div class="row">\n')
post.write('<div class="col-md-4"><img src="'+ i["link"][:-4]+'m'+i["link"][-4:] +'" alt="ChokeOuT" /></div>\n')
post.write('<div class="col-md-4"><img src="'+ j["link"][:-4]+'m'+j["link"][-4:] +'" alt="ChokeOuT" /></div>\n')
post.write('<div class="col-md-4"><img src="'+ k["link"][:-4]+'m'+k["link"][-4:] +'" alt="ChokeOuT" /></div>\n')
post.write('</div>\n')
解决方案
您有一个列表列表,其中包含 3 个元素。
尝试:
for image in images:
for i,j,k in image:
...
推荐阅读
- docker - 如何使用 Docker Build 修复 Azure DevOps 构建中的“访问路径 csproj.nuget.g.props 被拒绝”错误?
- excel - 在 VBA 中编写索引和 LinEst 公式
- python - 数据流作业因无法在梁 2.14 中找到 ext4 文件系统而挂起
- python - 如何修复此堆栈溢出错误(python)?
- laravel - 在客户端计算机上下载 youtube 播放列表
- mysql - MySQL:用户“root@localhost”的访问被拒绝(使用密码:否)
- python - Shebang (#!) 在 Python 脚本中不起作用
- python - 如何从用户那里获取输入并将其存储在外部文件中?
- python - keras 适合 y=None 和嵌入层
- numpy - Julia中的批量矩阵乘法