一、数据分类处理
思路:
代码:
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])