马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
将此文本按照相同用户每次只输出3行数据(第一列为用户),不满足用户最后全部输出。1005495524----a111111
1005495524----abc123
1005495524----aini1314
1005495524----iloveyou
1005495524----q1w2e3r4
1005495524----qq123123
1044122462aa----a111111
1044122462aa----abc123
1044122462aa----aini1314
1044122462aa----iloveyou
1044122462aa----q1w2e3r4
1044122462aa----qq123123
1095591332aa----a111111
1095591332aa----abc123
1095591332aa----aini1314
1095591332aa----iloveyou
1095591332aa----q1w2e3r4
1095591332aa----qq123123
1111qqqq1111----a111111
1111qqqq1111----abc123
1111qqqq1111----aini1314
1111qqqq1111----iloveyou
1111qqqq1111----q1w2e3r4
1111qqqq1111----qq123123
111qqq111----a111111
111qqq111----abc123
111qqq111----aini1314
111qqq111----iloveyou
111qqq111----q1w2e3r4
111qqq111----qq123123
结果:1044122462aa---a111111
1044122462aa---abc123
1044122462aa---aini1314
1005495524---a111111
1005495524---abc123
1005495524---aini1314
1111qqqq1111---a111111
1111qqqq1111---abc123
1111qqqq1111---aini1314
111qqq111---a111111
111qqq111---abc123
111qqq111---aini1314
1095591332aa---a111111
1095591332aa---abc123
1095591332aa---aini1314
1044122462aa---iloveyou
1044122462aa---q1w2e3r4
1044122462aa---qq123123
1005495524---iloveyou
1005495524---q1w2e3r4
1005495524---qq123123
1111qqqq1111---iloveyou
1111qqqq1111---q1w2e3r4
1111qqqq1111---qq123123
111qqq111---iloveyou
111qqq111---q1w2e3r4
111qqq111---qq123123
1095591332aa---iloveyou
1095591332aa---q1w2e3r4
1095591332aa---qq123123
请按任意键继续. . .
代码:#!/usr/bin/env python3
#coding=utf-8
#用户名
userinfo = {}
with open('1.txt','r') as f:
for each_line in f:
temp = (each_line.split('----'))
#去掉换行符
if '\n' in temp[1]: temp[1] = temp[1][:-1]
#用户名在字典中,追加数据
if temp[0] in userinfo:
userinfo[temp[0]].append(temp[1])
else:
userinfo[temp[0]] = [temp[1]]
#输出条件
limit = 3
#需要处理的用户
reuser = set(userinfo.keys())
rem_usr = set()
#不满足条件的用户
rem_usr_ = set()
# print(reuser)
while True:
#减少不必要访问
temp = reuser - rem_usr
# print(temp)
if temp == set(): break
for usr in temp:
temp_list = userinfo[usr]
temp_len = len(temp_list)
#过滤不满足条件的用户
if temp_len < limit: rem_usr.add(usr)
elif temp_len >= limit:
for count in range(limit):
print(usr + '---' + temp_list[0])
temp_list.pop(0)
#为0添加到剩余集合
elif temp_len == 0: rem_usr_.add(usr)
temp = reuser - rem_usr_
#输出不满足条件的
if temp != set():
for usr in reuser - rem_usr_:
for u in userinfo[usr]:
print(usr + '---' + u)
|