TypeError: 'int' object is not subscriptable in Python Nested Lists
TypeError: 'int' object is not subscriptable in Python Nested Lists
在下面的代码中,queryResult
是一个嵌套列表。嵌套列表意味着所有列表值都有另一个列表。
喜欢:
[(1024, jkhsa97890),(1025, khka65757),(1025, kjhaksd87987), ....]
因此在第一个循环中,我们从queryResult
获取列表并将它们存储在记录中。
记录中存储的数组:
(1024, jkhsasa97890)
(1025, khkaada65757)
(1025, kjhaksd87987)
....
然后使用 record
中列表的第二个 for 循环,我们获取值,然后通过为每个值提供键将其复制到 dictionary
。
但是在value4['videoid'] = item[0]
处出现错误。 value4['videoid']
是字典键,item[0]
是一个整数,其第一次迭代的值为 1024。
同理,value4['videokey']
为字典键,item[1]
为字符串,第一次迭代为jkhsasa97890
,依此类推。
代码:
value4 = dict()
for record in queryResult:
for item in record:
value4['videoid'] = item[0]
value4['videokey'] = item[1]
错误:
Traceback (most recent call last):
File "E:\demo.py", line 118, in <module>
value4['videoid'] = item[0]
TypeError: 'int' object is not subscriptable
每次完成嵌套循环后,值在被覆盖之前存储在另一个地方。
您的列表是一个二级嵌套列表。您不需要嵌套循环来分派您的值。在 queryResult 的第一个循环中,您记录了元组。那时记录已经包含了你想要通过索引获取的单个元素。
value4 = dict()
for record in queryResult: # example : record = (1024, "jkhsasa97890")
value4['videoid'] = record[0] # record[0] is 1024
value4['videokey'] = record[1] # record[1] is "jkhsasa97890"
在下面的代码中,queryResult
是一个嵌套列表。嵌套列表意味着所有列表值都有另一个列表。
喜欢:
[(1024, jkhsa97890),(1025, khka65757),(1025, kjhaksd87987), ....]
因此在第一个循环中,我们从queryResult
获取列表并将它们存储在记录中。
记录中存储的数组:
(1024, jkhsasa97890)
(1025, khkaada65757)
(1025, kjhaksd87987)
....
然后使用 record
中列表的第二个 for 循环,我们获取值,然后通过为每个值提供键将其复制到 dictionary
。
但是在value4['videoid'] = item[0]
处出现错误。 value4['videoid']
是字典键,item[0]
是一个整数,其第一次迭代的值为 1024。
同理,value4['videokey']
为字典键,item[1]
为字符串,第一次迭代为jkhsasa97890
,依此类推。
代码:
value4 = dict()
for record in queryResult:
for item in record:
value4['videoid'] = item[0]
value4['videokey'] = item[1]
错误:
Traceback (most recent call last):
File "E:\demo.py", line 118, in <module>
value4['videoid'] = item[0]
TypeError: 'int' object is not subscriptable
每次完成嵌套循环后,值在被覆盖之前存储在另一个地方。
您的列表是一个二级嵌套列表。您不需要嵌套循环来分派您的值。在 queryResult 的第一个循环中,您记录了元组。那时记录已经包含了你想要通过索引获取的单个元素。
value4 = dict()
for record in queryResult: # example : record = (1024, "jkhsasa97890")
value4['videoid'] = record[0] # record[0] is 1024
value4['videokey'] = record[1] # record[1] is "jkhsasa97890"