从两个列表中找到重复的元素,并在文本文件中标记它们,同时保留ord

2024-03-29 14:16:42 发布

您现在位置:Python中文网/ 问答频道 /正文

我有两个列表:list2intersection_set

intersection_set是一个排序列表

现在我尝试创建带有标记的公共项的list3,这些公共项来自list2intersection_set.list3中的序列必须与list2中的序列相同。 这是我的代码:

for item in intersection_set:
    for tmp in list2:
        if tmp == item:
            list3 += " [", tmp, "] "                #mark with []
        else:
            list3 += " ", str(tmp).zfill(4), " "    #fill to zeros

但有一个问题。List3有循环数

我意识到我的思维方式可能是错误的

  1. 如何修复此代码

  2. 有没有其他方法在文本文件中标记数字(简单文本文件中的一些“字符背景”-这可能吗?例如黑色背景上的白色数字?


Tags: 代码in标记列表for序列数字item
2条回答

关于1),您应该能够通过intersection_set省略循环(导致重复),并使用^{} operator

for tmp in list2:
    if tmp in intersection_set:
        list3 += " [", tmp, "] "                #mark with []
    else:
        list3 += " ", str(tmp).zfill(4), " "    #fill to zeros

对于2),如果你想强调数字

  • 您可以使用任何您喜欢的字符组合(如[
  • 如果你使用UTF-8,你可以组合字符,例如。下划线和数字,显示在同一个空格中,例如:a加上COMBINING LOW LINE
  • 只需遵循降价约定,用*表示强调,/表示斜体

让我看看我是否理解你的问题。 您希望list3是列表2中存在于交叉点集合中的项的列表。 如果是:

list3 = [" ["+item+"] " if item in intersection_set else " "+str(item).zfill(4)+ " " for item in list2]

那会让清单3变成一个字符串列表,这就是你想要的吗

相关问题 更多 >