Найти - Пользователи
Полная версия: задача
Начало » Python для новичков » задача
1 2
aleks14
a =
Найти и вывести все числа, которые присутствуют в списке более одного раза.

пытаюсь написать ее вот так
 def fun(a):
    
    for c in a:
        if c in b:
            b.append(c)
        return b        
print(fun([33, -1, 5, 2, 0, 33, 11, 0, -2, 77, 5]))
помогите ее написать не используя встроенные функции.кроме def
4kpt_IV
 #
def fun(a):
    return [element for element in a if a.count(element) > 1]

Но в этом случаем могут быть повторения…
4kpt_IV
По Вашему коду

 #
def fun(a):
    b = []
    for c in a:
       if a.count(c) > 1 and not c in b:
           b.append(c)
    return b        
print(fun([33, -1, 5, 2, 0, 33, 11, 0, -2, 77, 5]))
Romissevd
в принципе Вы начали правильно, но есть пару замечаний.
Что такое b? Вы не определили объект( в данном случае список ), но пытаетесь в него что-то добавить.
Проверка на вхождение. Тут более уместно условие если с НЕТ в списке b.
И вернуть результат нужно после полного выполнения цикла, а в Вашем случае функция прекратит работу после первого прохода.
 def fun(a):
    b = []
    for c in a:
        if c not in b:
            b.append(c)
    return b
print(fun([33, -1, 5, 2, 0, 33, 11, 0, -2, 77, 5]))
4kpt_IV
Romissevd

aleks14
Найти и вывести все числа, которые присутствуют в списке более одного раза.
Rodegast
 >>> a = [33, -1, 5, 2, 0, 33, 11, 0, -2, 77, 5]
>>> filter(lambda x: a.count(x) > 1, a)
[33, 5, 0, 33, 0, 5]
4kpt_IV
Rodegast

aleks14
помогите ее написать не используя встроенные функции.кроме def

Rodegast
 >>> a = [33, -1, 5, 2, 0, 33, 11, 0, -2, 77, 5]
>>> [ x for x in a if  a.count(x) > 1 ]
[33, 5, 0, 33, 0, 5]
4kpt_IV
Все-таки читать посты нужно до конца

4kpt_IV
Но в этом случаем могут быть повторения…

Rodegast
> Но в этом случаем могут быть повторения…
 >>> a = [33, -1, 5, 2, 0, 33, 11, 0, -2, 77, 5]
>>> set( x for x in a if  a.count(x) > 1 )
set([0, 33, 5])
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB