JSON最长列表指定索引元素提取代码报错排查求助
提取JSON最长列表结果格式不符,请求排查
任务要求
给定随机生成的JSON字符串,找到其中最长的列表,返回其键(key),后跟短横线('-'),再跟列表中索引为1的元素。
问题详情
我编写了Python代码处理上述任务,但返回结果始终不符合预期:
初始尝试代码
ind = 1 # 便于理解的索引标记 json_data = json.loads(challenge_input) # challenge_input为实验环境传入的目标JSON biggest_length = 0 # 用于记录JSON中列表类型值的最大长度 for key, value in json_data.items(): if type(value) == list: # 检查当前值是否为列表类型 list_length = len(value) # 获取当前列表长度 if list_length > biggest_length: # 判断是否为目前最长的列表 biggest_length = list_length # 更新最大长度记录 list_value = value # 保存该列表内容 list_key = key # 保存该列表对应的键 result = list_key + "-" + list_value[ind] # 构造最终结果 # {} = send_data_to_server(client_socket, result) # 将结果发送至服务器验证实验
首次运行后返回结果为"potlatching-tupaia",但预期结果是"potlatching-"tupaia""。之后我尝试手动拼接引号来构造结果:
result = f'"{list_key}-"{res[ind]}""'
运行后生成的字符串看起来和预期完全一致,但依然被服务器判定为错误。我不确定问题出在数据提取环节还是结果的格式处理上,希望能帮忙排查问题。
内容的提问来源于stack exchange,提问作者ThomasT
相关产品推荐
相关产品推荐

