我不知道如何解决以下错误:
first_name = opread["profiles"][i]["first_name"]
TypeError: 'int' object is not subscriptable
为您提供一些背景信息,这是我的代码:
opread = vk.method("messages.getConversationMembers",{"peer_id":id})
count = opread["count"]
for i in range(count):
first_name = opread["profiles"][i]["first_name"]
last_name = opread["profiles"][i]["last_name"]
peer_id = opread["profiles"][i]["id"]
答案 0 :(得分:0)
如果 VK 发送重复的个人资料(如您在评论中所述),则可能会发生这种情况。在任何情况下,如果您在配置文件列表而不是计数变量上运行范围函数,您将获得最佳结果:
opread = vk.method("messages.getConversationMembers",{"peer_id":id})
for i in range(len(opread["profiles"])):
first_name = opread["profiles"][i]["first_name"]
last_name = opread["profiles"][i]["last_name"]
peer_id = opread["profiles"][i]["id"]
如果您不需要持有对索引的引用,您甚至可以这样做:
opread = vk.method("messages.getConversationMembers",{"peer_id":id})
for i in opread["profiles"]:
first_name = i["first_name"]
last_name = i["last_name"]
peer_id = i["id"]