Don#39;t understand cause of quot;IndexError: tuple index out of rangequot; when formatting string(设置字符串格式时,不了解Quot;IndexError:元组索引超出范围的原因)
本文介绍了设置字符串格式时,不了解&Quot;IndexError:元组索引超出范围的原因的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我查看了类似的问题IndexError
,但没有找到对我的情况的解释。有人能解释一下我为什么会收到这个错误吗?
以下代码
mySF2[0]=['000browser', '1', 'Floor', '0.92', '1.74', 'con', 'None']
insertfmt = ' '.join([
"INSERT INTO mySchema.myTable_{}_name (col1, col2, col3, col4, col5, col6)",
"VALUES ({}, {}, NULLIF({},'None')::decimal, NULLIF({},'None')::decimal, {}, NULLIF({},'None')::int)"
])
insertfmt.format(mySF2[0])
出现此错误
IndexError: tuple index out of range
但是,我计算了7个占位符(即大括号{})和7个要输入的项目。那么为什么会出现这种错误呢?
推荐答案
str.format()
接受与格式字符串中的空洞数量相对应的可变数量的参数。在您的示例中,您向.format()
传递了一个参数(列表),这会导致错误,因为它需要七个参数。
若要将数组作为单独的参数传递给函数,需要使用*
运算符,如下所示:
insertfmt.format(*mySF2[0])
这篇关于设置字符串格式时,不了解&Quot;IndexError:元组索引超出范围的原因的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
沃梦达教程
本文标题为:设置字符串格式时,不了解&Quot;IndexError:元组索引超出范围的原因
基础教程推荐
猜你喜欢
- 将 YAML 文件转换为 python dict 2022-01-01
- 如何在Python中绘制多元函数? 2022-01-01
- 哪些 Python 包提供独立的事件系统? 2022-01-01
- 合并具有多索引的两个数据帧 2022-01-01
- 如何在 Python 中检测文件是否为二进制(非文本)文 2022-01-01
- 使用 Google App Engine (Python) 将文件上传到 Google Cloud Storage 2022-01-01
- Python 的 List 是如何实现的? 2022-01-01
- 症状类型错误:无法确定关系的真值 2022-01-01
- 使用Python匹配Stata加权xtil命令的确定方法? 2022-01-01
- 使 Python 脚本在 Windows 上运行而不指定“.py";延期 2022-01-01