题解 | #数据分类处理#

R_list = input().split()  # 接收输入的序列
I_list = I_list[1:]  # 列表切片,第一个数我们不需要用到
R_list = R_list[1:]  # 列表切片,第一个数我们不需要用到
result = []  # 结果列表定义,用来存结果数据
R_list = [int(i) for i in R_list]  # 把R序列转为整型

R_list = list(set(R_list))  # 对R序列去重

R_list = sorted(R_list, reverse=False)  # 对R序列按照升序排序(题目要求)

for i in R_list:
    first_flag = 1  # 判断是不是第一次标志,只有第一次写入时需要写入匹配数量和I
    count = 0  # 统计符合条件的整数数量
    for index, j in enumerate(I_list):  # 这个for循环是为了获取匹配的整数数量
        if str(i) in j:
            count += 1
    for index, j in enumerate(I_list):  # 这个for循环是为了获取索引和匹配到的整数
        if str(i) in j:
            if first_flag:  # 第一次写入时要额外写入要匹配的数字和数量
                result.append(i)
                result.append(count)
                first_flag = 0  # 写入标志设成0
            result.append(index)  # 写入索引
            result.append(int(j))  # 写入匹配到的数字
lent = len(result)  # 获取数字数量
result.insert(0, lent)  # 把数字数量插入到列表最前面
for i in result:  # 输出结果列表,空格分割
    print(i, end=" ")

全部评论

相关推荐

点赞 收藏 评论
分享
牛客网
牛客企业服务