Python - Tuple ve Liste İçindeki Elemanları Toplamak

Merhaba;

SQL veri tabanında FLOAT olarak kayıt edilmiş birden çok veriyi fetchall() ile çekiyorum ve değerler ile şunu oluşturuyor =

[(3225.73,),(-600.0,),(-455.0,)]

bunun type’ı = list olarak döndürüyor program.

Yapmak istediğim ise şu;

list olarak döndürdüğü kümenin içindeki elemanları birbiri ile toplamak ve net sonuç vermek. Bunların her birini bir harcama gibi düşünün ve hepsini toplayınca kalan bakiye verecek.

Şunu da unutmayalım, onlarca belki yüzlerce harcama olabileceği için sabit indexleme ile işlem yapmak gereksiz oluyor. for döngüsü ile bir şeyler yapılabileceğini tahmin ediyorum aklıma geliyor ama net ifade edemiyorum ve kod a dökemiyorum. Yardımcı olur musunuz?

1 Beğeni

Neden for döngüsü ile listeyi dolaşıp bütün sayıları bir değişkene eklemeyi denemiyorsunuz?

demek istediğniz bu olsa gerek

liste=[(3225.73,),(-600.0,),(-455.0,)]
toplam=0
for i in liste:
    toplam+=i[0]
print(toplam)
1 Beğeni

teşekkürler bu işimi şimdilik çözdü fakat ‘i’ liste üzerinde gezindiği için bir çok bakiye yazdırıyor. Tek bakiye nasıl yazdırabilirim fikriniz var mı ?

1 Beğeni

list icinde tuple icinde float. list icinde float’a soyle cevirebilirsin:
list(map(lambda x: x[0], xs)) veya [x[0] for x in xs]

Sonrasi sum().

Bakiye yazan kodu for’un disina alirsan n kere degil, bir kere calisir.

O zaman degisken indexleme ile islem yapalim:

for i in range(len(xs)):
    print("harcama", xs[i])

Veya daha iyisi, indexleme yapmayalim:

for x in xs:
    print("harcama", x)

Bu arada neden SQL’den direkt toplami cekmiyorsun?

2 Beğeni

Tesekkürler bu cevaplar için, direk SQL den çekemiyorum çünkü nasıl yapacağımı bilmiyorum. O konu da yardımcı olabilir misiniz?

1 Beğeni

SQL den direk toplamı nasıl çekeceğim?

1 Beğeni

https://lmddgtfy.net/?q=sql%20toplam

1 Beğeni

(Bu arada query’nin veya tablonun neye benzedigi hakkinda en ufak bir fikrim olsa dogrudan cozumu yazardim (daha da kisa surerdi). Boyle atarli gozukmemek icin surekli “kodunu paylas”, “database semani paylas” diyoruz :​)

1 Beğeni

hahahah canınız sağolsun buraya üye olduğumdan beri özellikle sizden ve diğer tüm üyelerden bir çok şey öğrendim.

1 Beğeni

veritabanı görüntüsü bu şekilde

1 Beğeni

SELECT SUM("TUTAR") FROM "albaraka"

Database ciktisi icin ilerde lazim olur:

14:36:35 0 aib@vivaldi:/tmp% sqlite3 foo.db .schema
CREATE TABLE foo (id INTEGER PRIMARY KEY AUTOINCREMENT, bar INT);
CREATE TABLE sqlite_sequence(name,seq);

14:37:26 0 aib@vivaldi:/tmp% sqlite3 foo.db .dump  
PRAGMA foreign_keys=OFF;
BEGIN TRANSACTION;
CREATE TABLE foo (id INTEGER PRIMARY KEY AUTOINCREMENT, bar INT);
INSERT INTO foo VALUES(1,3);
INSERT INTO foo VALUES(2,4);
INSERT INTO foo VALUES(3,5);
DELETE FROM sqlite_sequence;
INSERT INTO sqlite_sequence VALUES('foo',3);
COMMIT;

14:37:31 0 aib@vivaldi:/tmp% 
1 Beğeni