Ceviz Forum

Geri Dön   Ceviz Forum > Programlama > Python / Zope

Cevapla
 
LinkBack Seçenekler
Eski 01/03/2008, 14:28   #1 (permalink)
Yönetim Kurulu
 
Muallim-i Âli Adlı Üyenin Profil Grafiği
 
Üyelik Tarihi: 01/2008
Yer: İstanbul
Mesaj: 250
Varsayılan Listedeki Yüzlerce Elemanda Aynı Anda Değişiklik Yapılabilir mi ?

Elimizde bir liste düşünelim bu listede 10,100,1000 neyse sayı çok önemli değil; çünkü sayı sabit değil, değişken bir değer olacak o yüzden belli sayıya kadar sınırlama yapmamalıyım.

Bu listedeki elemanlarda her bir elemanda "abc" gibi bir yazı var mesela...

yani şöyle;

liste = ['virssabc', '123abc', 'veliabc', 'ahmetabc',...]

listenin son hali böyle olmalı :

listenin_son_hali = ['virss', '123', 'veli', 'ahmet',...]

Tavsiyelerinizi bekliyor (ve çözüm arama aşamasındayım )

Not : Listedeki elemanlar için illa liste kullanılmak zorunda değil.
Muallim-i Âli hatta değil   Alıntı Yaparak Yanıtla
Eski 01/03/2008, 19:44   #2 (permalink)
Üye
 
Üyelik Tarihi: 05/2004
Yer: İzmir
Mesaj: 28
Varsayılan Listeye deger eklemek

Aşağıdaki örnekte göreceğiniz gibi bir lisyete while dongusu ile yeni değer eklemek çok kısa bir zamanda gerçekleşiyor.

Böyle birşeye neden ihtiyacınız oldu?



Kod:
#Yazar : Onder Cankurt
#Tarih : 01 Mart 2008
#Amac : Bir listeye yeni deger eklemek icin gecen sureyi hesaplamak
#Yazar adi degistirilmemek kosuluyla ozgurce kullanilabilir

import time
#listeye kac adet deger eklenecegi belirleniyor
eklenecek_deger_sayisi = int(raw_input('Listeye kac adet yeni deger eklemek istiyorsunuz : '))

#baslangic zamani aliniyor
bas = time.time()
#bos bir liste olusturuluyor
a = []
 
b = 0
while b < eklenecek_deger_sayisi:
    a.append(b)
    b = b + 1

#bitis zamani aliniyor    
bit = time.time()

#baslangic ile bitis arasindaki zaman farki hesaplaniyor
sure = bit - bas

#sonuc
print "\n\n\n\n\n\n\n\n-------------------------"
print "Amac : Bir listeye yeni deger eklemek icin gecen sureyi hesaplamak"
print "-------------------------"
print "Sonuc : %s adet degeri append ile bir degiskenin icine eklemek \nicin gecen toplam islem suresi : " %b, sure, " saniye"
print "-------------------------"
print "Onder Cankurt - 01 Mart 2008 - Ornek kodlar yazar adi verilmek sartiyla ozgurce kullanilabilir"
print "-------------------------"


--
Önder Cankurt
Onderce hatta değil   Alıntı Yaparak Yanıtla
Eski 01/03/2008, 22:24   #3 (permalink)
Yönetim Kurulu
 
Muallim-i Âli Adlı Üyenin Profil Grafiği
 
Üyelik Tarihi: 01/2008
Yer: İstanbul
Mesaj: 250
Varsayılan

İlginiz için teşekkürler fakat ben listeye eleman eklemekten ziyade listedeki elemanları düzenlemek istiyorum ve her elemandan aynı karakterleri (yukarıdaki örneğimdeki abc gibi) silmem için bir kısayol tavsiyesi istiyorum
Muallim-i Âli hatta değil   Alıntı Yaparak Yanıtla
Eski 02/03/2008, 03:26   #4 (permalink)
Üye
 
Üyelik Tarihi: 05/2004
Yer: İzmir
Mesaj: 28
Varsayılan

Kod:
import re

liste = ['virssabc', '123abc', 'veliabc', 'ahmetabc']
print "Eski Liste : ", liste

yeni_liste = []
for i in liste:
    a = re.sub("abc","",i)
    yeni_liste.append(a)
    
print "Yeni Liste : ", yeni_liste
Mutlaka ilk listede çalışmam geleriyor diyorsanız remove ve insert fonksiyonlarına bakın.
Onderce hatta değil   Alıntı Yaparak Yanıtla
Eski 02/03/2008, 03:53   #5 (permalink)
Eski Cevizci
 
myavuzselim Adlı Üyenin Profil Grafiği
 
Üyelik Tarihi: 05/2004
Mesaj: 789
Varsayılan

Veya
Kod:
import re
yeniliste = map(lambda x: re.sub('abc$', '', x), liste)
myavuzselim hatta değil   Alıntı Yaparak Yanıtla
Eski 02/03/2008, 13:52   #6 (permalink)
Eski Cevizci
 
myavuzselim Adlı Üyenin Profil Grafiği
 
Üyelik Tarihi: 05/2004
Mesaj: 789
Varsayılan

Sanirim ilk listeyi degistirmek istiyorsunuz:
Kod:
import re
for i in xrange(len(liste)):
    liste[i] = re.sub('abc$', '', liste)
myavuzselim hatta değil   Alıntı Yaparak Yanıtla
Eski 02/03/2008, 17:40   #7 (permalink)
Yönetim Kurulu
 
Muallim-i Âli Adlı Üyenin Profil Grafiği
 
Üyelik Tarihi: 01/2008
Yer: İstanbul
Mesaj: 250
Varsayılan

Teşekkürler.
Muallim-i Âli hatta değil   Alıntı Yaparak Yanıtla
Cevapla

Bookmarks

Seçenekler

Mesaj Yazma Hakları
Yeni mesajgöndermezsiniz
Cevap yazamazsınız
Dosya ekleyemezsiniz
Mesajınızı düzenleyemezsiniz

BB code is Açık
[IMG] kodu Açık
HTML kodu Kapalı
Trackbacks are Açık
Pingbacks are Açık
Refbacks are Açık

Benzer Konular
Konu Konuyu açana göre Forum Cevap En Son Mesaj
Yüzlerce Fotoğrafdan Portre Yapmak! Ömer Photoshop / Corel / PSP 10 29/12/2006 15:43
Listedeki sayılardan yanyana aynı rakam içerenleri ayıklama karflake Pascal / Delphi / Delphi.NET 6 20/07/2006 14:55
Bir listedeki tıpatıp aynı satırları silmek (remove duplicates) ? Sedat Atif Pascal / Delphi / Delphi.NET 10 02/08/2003 02:58


Forum saati Türkiye saatine göredir. GMT +3. Şu anda saat 21:24.

Reklamlar & Desteklenenler
Hassas Valf | Hassas Kaplama | Antalyamız | Gazete | Ticari Bilişim | Hakan Müştak | Rüya Tabirleri | Kadın | Hastalıklar | Cepte msn ve e-posta | Webmaster | Antalya Aupair | Turkish Property Antalya | Forum | Chat | Perde | Adsl | Araba | bolindir.com | guncelle.com | livescore | Web Tasarım | evden eve nakliyat | forum | evden eve | sohbet | Resimcim| Kalifiye İnsan Kaynakları | Web Tasarım | Oyun | Yusuf KOÇ | Akın Yorulmaz | şiir | UFO | Web Tasarım | Oyunlar | Canlı Tv |


Forum Yazılımı: vBulletin Copyright ©2000 - 2008, Jelsoft Enterprises Ltd.
Search Engine Friendly URLs by vBSEO 3.2.0
Copyright ©2001 - 2008, Ceviz.net