我正在尝试编写一个简单的程序,它将读取我的广告组中的用户列表,如果是新的,则在名称后加上“***”。它似乎没有工作,所以我只是想知道我在哪里做错了。以下是我所拥有的:

list1 = open('testlist.txt', 'r')

for i in list1:
   print(i, end=' ')


list2 = open('NewUserList.txt', 'r+')

for ii in list2:
   if ii not in list1:
      list2.write(ii.strip("\n")+" ***\n")

列表1示例:
Mike Smith
John Smith
Tom Smith

下面是一个我在列表2中得到的结果的例子:
Mike Smith
John Smith
Tom Smith
Jerry Smith
Mike Smith ***
John Smith ***
Tom Smith ***
Jerry Smith ***

显然,这表明现有用户是新用户以及新用户。我做错了什么?

最佳答案

for i in list1:

list生成行,但不存储行。你必须保持自己的价值观:
s = set()

with open('testlist.txt') as f:
     for line in f:
        s.add(line)

关于python - 简单的程序,将***附加到用户列表中的一行,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/40267400/

10-12 22:44