Liste.count harf yerine eleman sayısı?

Merhaba arkadaşlar şimdi liste içindeki elemanlardan bir tanesinin kaç tane liste içinde mevcut olduğunu öğrenmek istiyorum count kodu ile harf veya rakamların sayısını söylüyor.Bana lazım olan liste=[1,2,3,1,20,1,2,20] mesala 2 sayısı kac tane olduğunu öğrenmek istiyorum count komutu ile 20 sayısının içindeki elemanıda dahil ediyor. sadece 2 kaç kere yazılmış

Merhaba.

Eleman sayısını öğrenmek için len() metodunu kullanmanız gerekiyor.

a = [1, 2, "a", "b"]
print(len(a))
# Sonuç: 4
1 Like

Teşekkür ederim yardımlarınız için…len toplam liste sayısını öğrenmek için onu biliyorum count ise tüm liste içindeki elemanın kaç kere geçtiğini gösteriyor sadece listenin 1 elemanı kaç kere liste içinde yazılmış yada olduğunu öğrenmek istiyorum.

Hayır dahil etmiyor.

a = [1, 2, 3, 20, 12, 2, 25]
print(a.count(2))
# Sonuç: 2
1 Like
listemiz = open("dogru_yalnis_kontrol/deneme.txt", "r").read()

listemizi = listemiz.split()

liste2 = []

for xa in listemizi:

    say = listemiz.count(xa)

    if (say == 2):
        liste2.append(xa)

print(liste2)

Olmuyor dosyanın içinde 1 2 3 100 1 2 3
var bunları forla yazdırdığımda gelen sayıyı countla içerisinde yazdığımda 1 sayısını 3 tane olduğunu söylüyor.

open ile okuduğunuz dosyanın içeriği string olarak okunur. Bu yüzden 100’deki 1’yi de sayıyor. Kodlarınızda bir düzenleme yapmanız gerekiyor.

1 Like

Hocam şimdi str olarak okuyor dediniz sayıların arasında boşluk var ve ben bunları listeye çevirip döngüyle çekiyorum int olarak geliyor…

Varmı bildiğiniz bir yöntemi

Mesela aşağıdaki kodları çalıştırın bir isterseniz. Dosyanın ismini test.txt olarak değişirdim. Bu kodlar 100 rakamının içindeki 1 sayısını saymayacaklardır.

#!/usr/bin/env python3.7
# -*- coding: utf-8 -*-

listemiz = open("test.txt", "r").read()

listemizi = listemiz.split()
for i, j in enumerate(listemizi):
    if j.isnumeric():
        listemizi[i] = int(j)
       

liste2 = []

for i in listemizi:
    say = listemizi.count(i)
    if (say == 2):
        if i not in liste2:
            liste2.append(i)

print(liste2)
1 Like

Oldu hocam ellerinize sağlık çok teşekkür ederim gerçekten.

Veya şöyle de yapılabilirdi:

listemiz = open("test.txt", "r").read()

listemizi = lambda x: list(map(lambda i: int(x.split()[i]), range(len(x.split()))))

liste2 = []

for i in listemizi(listemiz):
    say = listemizi(listemiz).count(i)
    if (say == 2):
        if i not in liste2:
            liste2.append(i)

print(liste2)
1 Like

Buda olur hocam çok teşekkür ediyorum :slight_smile: :slight_smile:

Şu da olur: :slight_smile:

listemiz = open("test.txt", "r").read()
listemizi = [int(i) if i.isnumeric() else i for i in listemiz.split()]

liste2 = []

for i in listemizi:
    say = listemizi.count(i)
    if (say == 2):
        if i not in liste2:
            liste2.append(i)

print(liste2)

Yeterli buna gerek yoktu :smiley:

Ne yapalım oldu bir kere. :slight_smile:

1 Like

Canınız sağolsun Hocam.Çok sağolun çok teşekkür ediyorum :slight_smile:

1 Like

Rica ederim, iyi günler.