Ana içeriğe atla

Python Gömülü Fonksiyonlar-map()

Python, bizler için bazı işleri kolaylaştıran fonksiyonları hazır olarak kendi içinde paketlemiş ve programcıların kullanımına sunmuştur. Bizde bu yazı serisinde, Python içinde gömülü olarak bulunan,yani import etmeye gerek olmadan kullanılabilen fonksiyonları, elimizden geldiğince anlatmaya çalışacağız. Hadi başlayalım :)

# map() fonksiyonu

map() fonksiyonu, elimizdeki listenin elemanlarını teker teker, bizim belirlediğimiz fonksiyona parametre olarak göndermek için kullanılabilir. Genel yapısı şöyledir
map(fonksiyon_adı,liste)

Bir örnek yapalım ki, pekiştirmiş olalım. Diyelimki elimizde bir liste var ve bu listede kelimeler var. Biz bu listedeki kelimelerin ilk harflerini büyük yapıp yeni bir liste oluşturalım.

# -*- coding: utf-8 -*-
def buyut(kelime):
    return kelime.capitalize()

liste=["coderistan","programlama","dünyası"]
newListe=map(buyut,liste)

Bu kodu, önceki yazımızda gördüğümüz lambda fonksiyonu ile de yazabiliriz.
# -*- coding: utf-8 -*-
liste=["coderistan","programlama","dünyası"]
newListe=map(lambda k:k.capitalize(),liste)

Elbette böyle bir işi, for döngüsü ile yapabiliriz ancak öyle durumlar karşımıza çıkar ki, map() kullanmak, for döngüsünden daha pratik olabilir. Programcı, hangi yapının daha iyi olduğuna tecrübe ile karar verecektir zaten...

Yorumlar

Bu blogdaki popüler yayınlar

Python Subprocess

subprocess modülü, yeni bir process oluşturmayı sağlayan, bunların girdi-çıktılarını ele alma imkânı veren ve dönüş kodlarını almayı sağlayan bir modüldür. Yani daha basit bir şekilde, program içinde program çalıştırmaya imkan veren bir modüldür. Subprocess Modülünün Kullanımı subprocess basit bazı process'leri kullanmak için birkaç tane fonksiyon sunuyor. Daha karmaşık bir process çalıştırmak isterseniz, Popen sınıfını kullanabilirsiniz. Bunlara detaylı bir şekilde değinmeye çalışacağız. Şimdi basit fonksiyonları inceleyelim

Infix to postfix dönüşümü

Infix to postfix dönüşümü, operatorün ortada olduğu a+b yazım şeklini operatorün sonda olduğu ab+ yazım şekline dönüştürme işlemidir. Bu yazıda iki şekilde dönüşümden bahsedeceğim:   1) Stack yapısı kullanarak dönüştürme 2) Kağıt üstünde el ile dönüştürme    Infix gösterimi, bizler için kolay bir gösterim olsa da makineler için öyle değildir. İfadeyi okurken a + b * c işleminde önce b ile c yi çarpıp sonra da a ile toplamayı kolay bir şekilde yapabiliriz çünkü bizim ifadeyi sıra ile adım adım giderek okuma zorunluluğumuz yok. Önce b*c nin öncelikle olduğunu görerek oradan başlar, sonra a ile kolayca toplarız.

Java Process Çıktısı Türkçe Karakter Sorunu

Merhaba arkadaşlar. Bildiğiniz gibi Java'da bir process oluşturmak için ProcessBuilder sınıfından yararlanıyoruz. Oluşturduğumuz process eğer çıktı üretiyorsa bu çıktıyı okuyabiliyoruz. Ancak bu çıktı Türkçe karakter içeriyorsa, biz bu çıktıyı okuduğumuz zaman düzgün bir şekilde elde edemiyoruz. Daha doğrusu kodlama Türkçe'ye göre yapılmadığı için (ş,ç,ğ,ı,ü,ö) karakterleri farklı bir şekilde ekranda görüntüleniyor. Öncelikle sorunu gözle görelim ve bunu çözmeye çalışalım. Aşağıda ping atmak üzere yazdığım bir program var. Ping atabilmek için bir process oluşturuyorum ve çıktıları ekrana yazıyorum. İşletim sistemimi Türkçe kullandığım için çıktı da Türkçe ifadeler geçiyor.