gpt4 book ai didi

python - 我怎样才能让我的代码成为一个集合?

转载 作者:太空宇宙 更新时间:2023-11-03 12:49:59 24 4
gpt4 key购买 nike

我有一个小代码,它接受一个对象列表,并且只输出列表中唯一的项目。

这是我的代码

def only_once(a):
return [x for x in a if a.count(x) is 1]

不过,我的老师要求我们为此功能使用集合。谁能告诉我我能做什么?

我的代码必须接受一个输入,例如 a=[1,4,6,7,3,2,4,5,7,5,6],并输出 [1, 3, 2]。还必须保留它的顺序。

最佳答案

[我假设您也是 user1744238 和 user1744316——请选择一个用户名并坚持使用,这样可以更轻松地查看您问过的问题的变体以及您已经问过的问题试过了。]

一种基于集合的方法是使用两个集合作为计数器。你只关心你是否看过一次或多次。例如,这是一个易于解释的方法:

  1. 一次更多 制作一个空集。
  2. 遍历列表中的每个元素,并且:
    1. 如果您以前没有见过它,请将它添加到一次
    2. 如果您看过一次,请将其从once 中删除并将其添加到more
  3. 现在您知道哪些元素在集合一次 中只见过一次。
  4. 遍历列表的元素,如果你已经看到它一次,将它添加到输出列表,并将它从 once 集合中移除,这样你就不会输出相同的元素两次。

这给了我:

In [49]: f([1,4,6,7,3,2,4,5,7,5,6])
Out[49]: [1, 3, 2]

关于python - 我怎样才能让我的代码成为一个集合?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12886450/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com