【发布时间】:2021-09-01 07:24:10
【问题描述】:
我正在尝试通过检查列表计数中的每个数字来创建一个仅返回列表中唯一数字的函数。 但即使它已经知道数字计数大于 1,它也会一遍又一遍地检查该数字,这当然会在检查大列表时引起问题,我希望它停止检查一个数字的计数,如果它已经查过了,但我找不到任何方法。
这是我的代码:
def find_uniq(arr):
for i in arr:
if arr.count(i) == 1:
return i
【问题讨论】:
-
“我正在尝试通过检查列表计数中的每个数字来创建一个仅返回列表中唯一数字的函数”我不明白这是什么意思。你能举一些例子来说明你是如何调用这个函数的吗?每种情况下的结果应该是什么?
-
好吧,存储
c[i] = arr.count(i),然后检查计数是否已知......? -
另外:你知道什么是直方图吗?如果您使用这个词,它是否有助于您在 Internet 上搜索解决方案?
-
@KarlKnechtel
list1 = [1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1,1, 1, 1, 1] print(find_uniq(list1))然后它将打印 0,因为它是唯一没有任何重复的数字
标签: python python-3.x list for-loop