• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Wypisanie powtarzających się liczb z listy.

Object Storage Arubacloud
0 głosów
717 wizyt
pytanie zadane 20 listopada 2020 w Python przez Tanormalnie Użytkownik (550 p.)
Cześć, wie ktoś w jaki sposób mógłbym wypisać liczby które pojawiły się w tablicy więcej niż 2 razy?

3 odpowiedzi

+1 głos
odpowiedź 20 listopada 2020 przez tangarr Mędrzec (154,860 p.)
Najprostszą metodą jest posortowanie listy, a potem iterowanie po niej od początku do końca i zliczanie elementów. Na początku licznik jest ustawiony na zero a zapamiętany element na null. Jeżeli napotkasz taki sam element jak zapamiętany to zwiększasz licznik o jeden. Jeżeli licznik wynosi 3 to wypisujesz liczbę. Jeżeli element jest inny to nadpisujesz zapamiętany element i ustawiasz licznik na 1.
+1 głos
odpowiedź 16 października 2023 przez VBService Ekspert (253,340 p.)
edycja 16 października 2023 przez VBService

Możesz np. posłużyć się słownikiem (dictionary)

[ kod on-line ]

numbers = [ 1, 2, 3, 4, 4, 4, 5, 6, 7, 8, 8, 9, 9, 0, 2, 9, 9 ]

# Tworzymy pusty słownik (dictionary) do zliczania wystąpień każdej liczby.
count_dict = {}

# Liczymy wystąpienia każdej liczby w tablicy.
for number in numbers:
    if number in count_dict:
        count_dict[number] += 1
    else:
        count_dict[number] = 1

# Wypisujemy liczby, które wystąpiły więcej niż 2 razy.
for number, count in count_dict.items():
    if count > 2:
        print(f'Liczba {number} (powtórzeń: {count})')

 

no i też np. Counter jak już zasugerował @Episkopatto;

[ kod on-line ]

from collections import Counter

numbers = [ 1, 2, 3, 4, 4, 4, 5, 6, 7, 8, 8, 9, 9, 0, 2, 9, 9 ]

# Używamy funkcji Counter, aby zliczyć wystąpienia każdej liczby.
count = Counter(numbers)

# Wybieranie liczb, które występują więcej niż 2 razy.
result = [num for num, freq in count.items() if freq > 2]

print(result)

 

można także użyć np. metody count() dla list-y

[ kod on-line ]

numbers = [ 1, 2, 3, 4, 4, 4, 5, 6, 7, 8, 8, 9, 9, 0, 2, 9, 9 ]

# Tworzymy pustą listę na wynik.
result = []

# Iterujemy przez liczby w tablicy.
for num in numbers:
    # Sprawdzamy, czy liczba występuje więcej niż 2 razy.
    if numbers.count(num) > 2 and num not in result:
        result.append(num)

print(result)

 

0 głosów
odpowiedź 16 października 2023 przez Episkopatto Nowicjusz (140 p.)
edycja 16 października 2023 przez Episkopatto
liczby = [1,2,3,4,4,,5,6,7,8,8,9]


def wypisz_powtarzajace_sie(tablica):

    powtarzajace_sie = []

    wystapienia = {}

    for liczba in tablica:

        if liczba in wystapienia:

            if liczba not in powtarzajace_sie:

                powtarzajace_sie.append(liczba)

        else:

            wystapienia[liczba] = 1

    print("Liczby powtarzające się w tablicy to:", powtarzajace_sie) 

    

 

komentarz 16 października 2023 przez VBService Ekspert (253,340 p.)
edycja 16 października 2023 przez VBService

@Tanormalnie;

pojawiły się w tablicy więcej niż 2 razy

wink

 

from collections import Counter

gdzie w kodzie użyłeś Counter?

 

1
komentarz 16 października 2023 przez Episkopatto Nowicjusz (140 p.)
O masz racje, zostało po poprzednich próbach, dzieki za info :) mialem to jako zadanie w tutorailu i chyba z godzine sie meczylem jak to ugryzc internet polecal rozwiazania z counterem ale cos mi nie szlo  i pozmienialem pozniej :D
komentarz 16 października 2023 przez VBService Ekspert (253,340 p.)

Zdarza się, szczególnie jak za długo się ślęczy nad kodem. wink

Podobne pytania

0 głosów
1 odpowiedź 927 wizyt
pytanie zadane 10 sierpnia 2017 w Python przez dziadek Początkujący (440 p.)
0 głosów
2 odpowiedzi 4,343 wizyt
pytanie zadane 21 marca 2016 w Java przez Aisekai Nałogowiec (42,190 p.)
0 głosów
1 odpowiedź 192 wizyt
pytanie zadane 14 czerwca 2015 w Nasze projekty przez JogiMichu Nowicjusz (180 p.)

92,576 zapytań

141,426 odpowiedzi

319,652 komentarzy

61,961 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...