筛选出对称的字符串,按指定规则排序输出
下面是具体实现:
def is_huiwen(one_str_list):
if len(one_str_list)==1:
return True
else:
half=len(one_str_list)/2
if len(one_str_list)%2==0:
first_list=one_str_list[:half]
second_list=one_str_list[half:]
else:
first_list=one_str_list[:half]
second_list=one_str_list[half+1:]
if first_list==second_list[::-1]:
return True
else:
return False
n=int(raw_input())
str_list=[]
res_list=[]
for i in range(n):
str_list.append(raw_input())
for one in str_list:
if is_huiwen(one):
res_list.append(one)
res_list.sort(key=lambda x:len(x))
i=0
while i<len(res_list)-1:
j=i+1
if len(res_list[i])<len(res_list[j]):
pass
else:
if res_list[i]>res_list[j]:
res_list[i],res_list[j]=res_list[j],res_list[i]
i+=1
for one in res_list:
print one
if not res_list:
print 'NONE'