列表中的单个元素

kratosthe1st:

我是python的新手,我遇到了这段代码,以在列表中找到单个元素

这是代码:

def single_number(arr):
    ones, twos = 0, 0
    for x in arr:
        ones, twos = (ones ^ x) & ~twos, (ones & x) | (twos & ~x)
    assert twos == 0
    return ones
arr1 = [5, 3, 4, 3, 5, 5, 3]
print(single_number(arr1))

我似乎无法理解生产线在做什么

ones, twos = (ones ^ x) & ~twos, (ones & x) | (twos & ~x)
assert twos==0
帕特里克·阿特纳(Patrick Artner):

除非您确实受内存空间限制,否则您不希望这样做,即使那样,您也可能不应该使用它。

这是某种位移/位操作“魔术”,即

  • 不直观
  • 危险摆弄
  • 不好维护
  • 难以理解

Counter在O(n)中工作-这就是检查列表中所有元素的最佳方法-在此位上,它需要花费更多的固定时间(以设置Counter对象)和一些空间(以维护内部命令)-转移你发现的东西。

def getSingle(arr):
    from collections import Counter
    c = Counter(arr)

    return c.most_common()[-1]  # return the least common one -> (key,amounts) tuple

arr1 = [5, 3, 4, 3, 5, 5, 3]

counter = getSingle(arr1)

print (f"{counter[0]} occured {counter[1]} time(s)")

输出:

4 occured 1 time(s)

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

将列表元素存储在单个变量中以进行查询

串联python列表中的单个元素

通过在python中重复单个元素来扩展列表

Python:根据单个列表中的元素制作嵌套列表

如何从闪亮列表中的单个列表元素的renderDataTable或renderTable

如何影响列表中单个元素的Gatsby / React useState

如何从单个项目列表中删除未命名的元素?

如何用单个变量替换列表中的所有元素

为什么浅表复制不影响列表中的单个元素?

将列表中的单个列表元素转换为包含列表中的多个元素(就地)

在Haskell中展平列表和单个元素的混合

从C#中的列表中获取单个元素

将列表元素作为Python中的单个项返回

从列表中的元素获取单个值

在Chrome中的单个列表元素上设置HTML dir属性

以编程方式触发对Angular / JavaScript中列表的单个元素的点击

使用列表理解在列表中查找单个元素

第一次提供单个元素时,检查单个元素是否在LINQ的列表中

在列表向量中的单个/多个列表中添加元素

如何从列表中的单个(多个)元素中删除括号?

Java - 用列表中的多个元素替换单个元素

将单个元素列表视为 Python 中的标量

打印列表的单个元素

用单个元素替换列表中的多个元素

基于模式数学从列表 python 的单个列表中删除元素

从向量列表中减去单个向量元素

在python中将多个列表元素连接到单个列表中

如何从列表元素中获取单个值

在python中迭代单个列表的多个元素