4 Temmuz 2011 Pazartesi

Şartlı liste işlemleri

Aşağıda ki kodları anlatmadan önce bu yazılımla uğraşan arkadaşlara önemli bir uyarı :
!!! Lütfen Python shell içinde dönen tanımları (list,filter,range, ve daha bir sürü) dikkatlice okuyun ve anlamaya çalışın. Onlar o kadar güzel fonksiyon veya tanımlar olmasa Shelin içinde yer almaz kütüphanede olurlardı.!!!

Burada [2,4,6] listesinin değeri 3 den büyük olan değerleri içinden en küçük olanı alınmasıdır.
Toplam 2 adet liste vardır.
  • birincisi işlenecek liste min(filter(lambda x: x>3, [2,4,6] ))
  • ikincisi ise eşleşen durumlara uygun olan sonuçlerın listesidir min(filter(lambda x: x>3, [2,4,6]))
min(filter(lambda x: x>3, [2,4,6]))

Listeler arası işlem

Yoğurt ,su,tuz,yağ,sarmısak ve hıyar denildimi insanın aklına cacık gelir. Ama maalesef her insan iyi cacık yapamaz. Sizde cacık yapan fonksiyon listelerini birleştirip kendi cacık tanımlarınızı yapabilirsiniz. Ne kadar su , nekadar yoğurt vs tek tek tanımlamanıza  gerek yok. Önemli olan husus cacık yapılacak listelerin iterasyonların sonuçları en kısa listenin boyu kadar olacaktır. Hıyar biterse cacıkda olmaz.....

n = [6,7,8,8]
m = [4,3,5,9]
for i in itertools.imap((lambda x, y: x*y), m, n):
    print i

tek satırda dosya çıktısı almak

exec "for i in ((open('dene.txt','r')).readlines()): print i.rstrip()"

EXEC yazılan string gurubu içerisindeki tüm komut ve kuralları uygular(çalıştırır). Daha önceden tanımsız olanlar için geçerli değildir. Tembel adamın işleri gibi gözüksede aslında olması gereken aşağıda yazılı olan şekildir. Bu sizin daha sonra düzeltme yada değişiklik yapmanızı hızlandırır.

a=open('dene.txt','r')
b=a.readlines()
for i in b:
    print i.rstrip()
a.close() ## Açtığınız tüm dosya-bağlantı-işlem leri(-ları) kapatın. Unutmayın ki kainatta hiç bir kaynak sonsuz değildir. Sizin bilgisayarınızın da olmadığı gibi..
Her sistemde açılacak olan işlemler veya dosyaların sayısı bellidir.Her ne kadar bazı python yazarları okumak için açılan dosyaları kapatmasanızda olur deseler bile siz sistem kararlılığı için kapatın.
   

Zaman karşılaştırma

Global olarak tüm takvim formatı YY/AA/GG (yıl/ay/gün) şeklindedir(yazılım için).
fakat çoğu uygulama tarihi ters işler bu da  yazılım geliştiricisi için Order biraz çetrefilleşir. Python da bu işlem gayet basittir. Sadece yapmanız gereken takvimi ham hale getirip terslemektir. Burada  dikkat edilecek husus yıl bölümünün dört ay ve gün bölümünün iki hane olmasıdır. Bu adımlardan sonra tarih karşılaştırmaları gayet basit hale gelir ve istediğiniz karşılaştırmayı yapabilirsiniz.

a='28/10/2011'
b='25/11/2011'
print ((a.split('/'))[::-1]) < ((b.split('/'))[::-1])
Çıktı böyle  olur """>>>True """