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
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
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.
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)
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)
Buda olur hocam çok teşekkür ediyorum
Şu da olur:
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
Ne yapalım oldu bir kere.
Canınız sağolsun Hocam.Çok sağolun çok teşekkür ediyorum
Rica ederim, iyi günler.
Sn @dildeolupbiten bu konuya yazdiginiz kodlarda dongude sayilan i degerini atadiginiz say degiskeni 2 ye neden esit ise dediniz belki cok basit ama ben kafama oturtamadim. Tesekkurler
if (say == 2):
Çünkü sanırım 2 sayısının kaç tane olduğunu bulmaya çalışıyorlar. Yanlış olabilir daha pythona başlayalı 1.5 ay oldu.