题解 | #数据分类处理#

数据分类处理

https://www.nowcoder.com/practice/9a763ed59c7243bd8ab706b2da52b7fd

# 从输入中读取第一行,然后分割字符串并取分割后的列表从第二个元素到最后一个元素  
I = input().split(' ')[1:]    
# 从输入中读取第二行,然后分割字符串并取分割后的列表从第二个元素到最后一个元素  
R = input().split(' ')[1:]   
# 将R列表中的每个元素转换为整数  
R = list(map(int, R))  
# 将R列表转换为集合以去除重复元素,然后再转换回列表  
R = list(set(R))  
# 对R列表进行排序  
R.sort()  
  
# 初始化结果列表  
res = []  
  
# 遍历排序后的R列表  
for r in R:  
    # 初始化临时列表  
    tmp = []  
    # 遍历I列表,同时获取索引和值  
    for idx, val in enumerate(I):  
        # 如果R中的当前元素r转换为字符串后存在于I中的当前元素val中  
        if str(r) in str(val):  
            # 将当前索引和值添加到临时列表中  
            tmp = tmp + [str(idx), str(val)]  
    # 如果临时列表不为空  
    if tmp:  
        # 将R中的当前元素r和临时列表长度的一半(因为索引和值成对出现)添加到临时列表前面  
        tmp = [str(r), str(len(tmp)//2)] + tmp  
    # 将临时列表的内容添加到结果列表中  
    res = res + tmp  
  
# 将结果列表的长度添加到结果列表的最前面  
res = [str(len(res))] + res  
  
# 打印结果列表,元素之间用空格分隔  
print(*res)

全部评论

相关推荐

10-15 16:27
门头沟学院 C++
LeoMoon:建议问一下是不是你给他付钱😅😅
点赞 评论 收藏
分享
点赞 收藏 评论
分享
牛客网
牛客企业服务