python - 异常处理 - 列表索引超出范围
问题描述
我有一个列表,其中列表的长度是动态的。如果我们看下面的例子,列表的长度是 2,从 0 开始。我在 Excel 表中填写这个值,当列表的长度为 6 时它工作正常,但有时列表的长度是2 或 3 和那个时间点,我得到预期的“列表索引超出范围”。如果列表超出范围,我需要填写 0 作为其余列表的值。我们应该怎么做?
counts = [2, 1] #list
df1.loc[0, 'Value'] = counts[0]
df1.loc[1, 'Value'] = counts[1]
df1.loc[2, 'Value'] = counts[2]
df1.loc[3, 'Value'] = counts[3]
df1.loc[4, 'Value'] = counts[4]
df1.loc[5, 'Value'] = counts[5]
错误:
df1.loc[2, 'Value'] = counts[2]
IndexError: list index out of range
预期成绩
df1.loc[0, 'Value'] = 2
df1.loc[1, 'Value'] = 1
df1.loc[2, 'Value'] = 0
df1.loc[3, 'Value'] = 0
df1.loc[4, 'Value'] = 0
df1.loc[5, 'Value'] = 0
解决方案
查找原始列表的长度并在列表中附加 0
append_len = 6 - len(count)
for i in range(append_len):
count.append(0)
for i in range(6):
df1.loc[i, 'Value'] = counts[i]
推荐阅读
- node.js - 在重定向之前在 Express 应用中设置自定义引用者
- python - Google Calendar API 删除“conferenceData”嵌套对象
- arrays - 倒排数组(从最低索引读取)
- mysql - PRIMARY KEY 的所有部分都不能为空;如果您需要在键中使用 NULL,请改用 UNIQUE
- python - 如何修改列表中的多个项目?
- c# - 与 PostgreSql 的连接失败
- javascript - 在数学上将归一化值分成三个相等的值
- selenium - chrome 无头模式下的 Codesept 警报窗口测试
- apache - 发出不带正斜杠的 HTTP 请求
- javascript - 如何通过单击按钮以及单击选项卡菜单在选项卡之间切换?