"""
# _*_coding:utf-8 _*_
Name:京东.py
Date:4/9/19
Author:LiMin
Connect:314690259@qq.com
Desc:
""""""
京东二面笔试题
1. 生成一个大文件ips.txt,要求1200行,每行随机为172.25.254.0/24段的ip;
2. 读取ips.txt文件统计这个文件中ip出现频率排前10的ip;
"""import random
f =open('ips.txt','w+')for i inrange(1200):
f.write('172.25.254.'+str(random.randint(1,255))+'\n')
f.seek(0,0)
s ={}for i in f.readlines():if i in s:
s[i]+=1else:
s[i]=1
li =list(s.items())
sort_li =sorted(li,reverse=True,key=lambda x:x[1])[:10]for i in sort_li:print(i[0],end='')
f.close()
运行结果:
172.25.254.221172.25.254.143172.25.254.173172.25.254.104172.25.254.26172.25.254.152172.25.254.218172.25.254.237172.25.254.201172.25.254.155
方法2:
"""
# _*_coding:utf-8 _*_
Name:京东.py
Date:4/9/19
Author:LiMin
Connect:314690259@qq.com
Desc:
""""""
京东二面笔试题
1. 生成一个大文件ips.txt,要求1200行,每行随机为172.25.254.0/24段的ip;
2. 读取ips.txt文件统计这个文件中ip出现频率排前10的ip;
"""import random
defcreate_ip_file(filename):
ip =['172.25.254.'+str(i)for i inrange(0,255)]withopen(filename,'a+')as f:for count inrange(1200):
f.write(random.sample(ip,1)[0]+'\n')
create_ip_file('ips.txt')defsorted_by_ip(filename,count=10):
ips_dict =dict()withopen(filename)as f:for ip in f:if ip in ips_dict:
ips_dict[ip]+=1else:
ips_dict[ip]=1
sorted_ip =sorted(ips_dict.items(),key=lambda x:x[1],reverse=True)[:count]return sorted_ip
print(sorted_by_ip('ips.txt'))
运行结果:
[('172.25.254.21\n',10),('172.25.254.82\n',10),('172.25.254.4\n',9),('172.25.254.220\n',9),('172.25.254.32\n',9),('172.25.254.98\n',9),('172.25.254.150\n',9),('172.25.254.90\n',9),('172.25.254.190\n',9),('172.25.254.173\n',8)]