0
点赞
收藏
分享

微信扫一扫

【牛客·华为】Python 数据分类处理、查找兄弟单词

杨沐涵 2022-04-13 阅读 73

一、数据分类处理

思路:

代码:

L = list(map(int,input().split()))
R = list(map(int,input().split()))
l = L[1:]
r = R[1:]
R_r = [] 
r = list(set(r))
r.sort()
m = []
for i in range(len(r)):
    flag = 0
    k = 0
    for j in range(len(l)):
        if str(r[i]) in str(l[j]):
            flag = 1
            R_r.append(j)
            R_r.append(l[j])
            k = k+1
    if flag == 1:
        m.append([r[i],k])
n = len(R_r) + (len(m)*2)
print(n,end=' ')
num = 0
for i in range(len(m)):
    print(m[i][0],m[i][1],end=' ')
    for j in range(m[i][1]*2):
        print(R_r[num],end=' ')
        num = num + 1

            

二、查找兄弟单词

思路:

代码:

aa = list(map(str,input().split()))
a = int(aa[0]) #字典中单词个数
b = aa[1:1+a] #字典单词
k = int(aa[-1]) #整数k
c = aa[-2]  #单词
cc = list(c)
m = 0 #兄弟单词的个数
w_k = [] #兄弟单词
for i in range(a):
    flag = 0
    if len(b[i]) == len(cc):
        for j in range(len(cc)):
            if cc[j] in b[i] and c.count(cc[j]) == b[i].count(cc[j]):
                flag = 0
            else:
                flag = 1
                break
    else:
        flag = 1
    if flag == 0 and b[i] != c:
        m = m + 1
        w_k.append(b[i])
if len(c) == 1:
    w_k = sorted(w_k,key=lambda x:x[0])
elif len(c) == 2:
    w_k = sorted(w_k,key=lambda x:(x[0],x[1]))
elif len(c) == 3:
    w_k = sorted(w_k,key=lambda x:(x[0],x[1],x[2]))
elif len(c) == 4:
    w_k = sorted(w_k,key=lambda x:(x[0],x[1],x[2],x[3]))
elif len(c) == 5:
    w_k = sorted(w_k,key=lambda x:(x[0],x[1],x[2],x[3],x[4]))
elif len(c) == 6:
    w_k = sorted(w_k,key=lambda x:(x[0],x[1],x[2],x[3],x[4],x[5]))
elif len(c) == 7:
    w_k = sorted(w_k,key=lambda x:(x[0],x[1],x[2],x[3],x[4],x[5],x[6]))
elif len(c) == 8:
    w_k = sorted(w_k,key=lambda x:(x[0],x[1],x[2],x[3],x[4],x[5],x[6],x[7]))
elif len(c) == 9:
    w_k = sorted(w_k,key=lambda x:(x[0],x[1],x[2],x[3],x[4],x[5],x[6],x[7],x[8]))
elif len(c) == 10:
    w_k = sorted(w_k,key=lambda x:(x[0],x[1],x[2],x[3],x[4],x[5],x[6],x[7],x[8],x[9]))
w_k = sorted(w_k,key=lambda x:(x[0],x[1]))
print(m)
if len(w_k) >=k:
    print(w_k[k-1])
        

 

举报

相关推荐

0 条评论