Python列表帮助,lis中没有重复项

2024-06-06 14:52:28 发布

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

CheckList = ['hello', 'hello1', 'hello2', 'hello3', 'hello4', 'hello5', 'hello', 'hello1']
AlreadyChecked = ['hello', 'hello1', 'hello2', 'hello3', 'hello4']
NextCheck = ['hello', 'hello1', 'hello2']


while(CheckList):
    ToCheck = CheckList.pop()
    while(ToCheck in AlreadyChecked and CheckList):
        ToCheck = CheckList.pop()
    AlreadyChecked.append(ToCheck)
    while(ToCheck in NextCheck and CheckList):
        ToCheck = CheckList.pop()
    NextCheck.insert(0, ToCheck)

print(NextCheck)

这个代码正在打印出来。。。你知道吗

['hello', 'hello5', 'hello', 'hello1', 'hello2']

我需要做的是:

  • NextCheck一旦被打印出来就不应该有任何副本。你知道吗
  • NextCheck应该把所有东西都列在清单上,当然不能重复
  • 一旦while(CheckList)执行完毕,NextCheck中的所有内容都应该在AlreadyChecked中的某个地方

不幸的是,如print语句所示,我在NextCheck中得到了重复。。你知道吗

有什么帮助吗?:/


Tags: andinhellopopchecklistprintwhilehello1
2条回答

你错过了一些凹痕。试着粘贴这个,看看问题是否解决了。你知道吗

CheckList = ['hello', 'hello1', 'hello2', 'hello3', 'hello4', 'hello5', 'hello', 'hello1']
AlreadyChecked = ['hello', 'hello1', 'hello2', 'hello3', 'hello4']
NextCheck = ['hello', 'hello1', 'hello2']


while(CheckList):
    ToCheck = CheckList.pop()
while(ToCheck in AlreadyChecked and CheckList):
    ToCheck = CheckList.pop()
AlreadyChecked.append(ToCheck)
while(ToCheck in NextCheck and CheckList):
    ToCheck = CheckList.pop()
    NextCheck.insert(0, ToCheck)
print(NextCheck)

将列表转换为set()

lst = ["A", "B", "C", "C", "B"]
print(list(set(lst)))
>>> ["A", "B", "C"]

要更改列表,只需执行以下操作

lst = set(lst)

相关问题 更多 >