题解 | #数据分类处理#

数据分类处理

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

思路:该题难点就是如何顺序输出,使用字典顺序依次记录出现的索引以及元素,然后进行组装即可

I = [i for i in input().strip().split(" ")][1:]
R = [int(r) for r in input().strip().split(" ")]
R = sorted(set(R[1:]))
d, result = {}, []  # 字典d的key为R中的元素, value为这个元素在I中出现时的数据

for r in R:
    r_s, r_count = str(r), 0  # r_count为r_s在R中出现的次数,比如3在I中出现6次
    for index, i in enumerate(I):
        if r_s in i:
            d[r_s] = d.get(r_s, [])
            d[r_s].append((index, i))  # 记录出现的索引以及值
            r_count += 1
    if d.get(r_s):  # value最后加上出现的总次数
        d[r_s].append(r_count)

for k, v in d.items():
    result.extend([k, v[-1]])  # v[-1]=r_count
    for v_s in v[:-1]:
        result.extend(v_s)

result.insert(0, len(result))
for i in result:
    print(i, end=" ")
全部评论

相关推荐

10-11 17:45
门头沟学院 Java
走吗:别怕 我以前也是这么认为 虽然一面就挂 但是颇有收获!
点赞 评论 收藏
分享
10-28 14:42
门头沟学院 Java
watermelon1124:因为嵌入式炸了
点赞 评论 收藏
分享
评论
点赞
收藏
分享
牛客网
牛客企业服务