我有两个文件“seen.txt”和“members.txt”。第一个文件“seen.txt”列出了看过帖子的人。该文件的结构如下:
Friend/Not Friend
Name #1
Number of mutual friends
Friend/Not Friend
Name #2
Number of mutual friends
第二个文件“members.txt”列出了组中所有人的详细信息。该文件的结构如下:
Name #1
Some info about the person
Some more info about the person
Name #2
Some info about the person
Some more info about the person
现在,我想创建一个程序来显示成员但不在可见列表中的人的姓名。为此,我创建了两个字典来存储每个文件的名称。完成后,我只需遍历 members_list 中的每个成员并查看它们是否在 seen_list 中。如果不是,我会在控制台中打印出名称。
这是我写的代码:
seen = open('seen.txt').readlines()
members = open('members.txt').readlines()
i = 0
j = 0
seen_list = {}
members_list = {}
for lines in seen:
if i == 1:
seen_list[lines.strip()] = 1
i = 0
else:
i += 1
for lines in members:
if j == 0 or j == 3: # to get the first line and every third line to extract name
members_list[lines.strip()] = 1
j = 6
else:
j -= 1
for member in members_list:
if member not in seen_list:
print member
我相信我的解决方案非常精细,并且可以以更短、更快的方式完成。谁能告诉我这个程序上可能有一些很酷的 python hack 以使其更高效和更短?