【发布时间】:2017-08-03 08:55:07
【问题描述】:
我正在尝试将 'fwd' 第一列中的 int 值传输到新的 dict 'fragment_dict' 中,但是当我运行我的代码时出现了这种类型错误:“'int' object is not subscriptable”。我想知道是什么问题。
fwd = {1:1, 2:10, 3:100, 5:10000, 103: 103, 204:204, 205:205, 387:387}
fragment_dic = {}
count = 0
for fragment_num in range(0, 388, 1):
for pos in range(1,101, 1):
if fwd == int:
print()
genomic_position = fragment_num*100 + pos
count += fwd[genomic_position]
elif fwd != int:
pass
fragment_dic[fragment_num] = count
count = 0
for i in fwd:
fwd[fragment_dic] = i[0]
【问题讨论】:
-
这段代码根本没有任何意义。
fwd是一个字典,它永远不会是一个整数;即使是这样,fwd == int也不是检查对象是否为 int 的方法(您的意思是isinstance(fwd, int));只做pass的elif 完全没有意义;而实际的错误是因为遍历 dict 给了你键,所以i是键。 -
如果您包含完整的错误消息会有所帮助,特别是它向您显示
fwd[fragment_dic] = i[0]行的位,这意味着我们所要做的就是查看错误以查看它是否在抱怨您不能下标i,因为它是int。这是您所期望的,因为它是fwd的键之一。 -
您的错误是否带有堆栈跟踪?这告诉你问题出在哪条线路上?
-
感谢@vaultah 的编辑。我是 StackOverflow 的新手 :( 从现在开始将遵循相应的格式。
-
@Duncan 我想我必须彻底寻找,但我会尝试再玩几次..
标签: python python-3.x