
#ÜRETEÇLER
#Üreteçler, Python’ın güçlü yanlarından birisidir. Döngüler, listeler ve koşulların birlikte kullanılabildiği ve tek satırda büyük işlemler yapan kurgulardır. Üreteçler, Python dilinde bilinmesi gereken en önemli unsurdur diyebiliriz. Bu konunun çok iyi bilinmesi gerekmektedir. İlerleyen bölümlerin doğru şeşilde anlaşılabilmesi ve VERİ BİLİMİ için zorunludur.
#Sıfır ile 100 arasındaki sayıları bir listeye atamak için bir çok yol vardır. Döngü kurarak yapmayı biliyorsunuz. Aynı zamanda:
liste=list(range(101))
print(liste)
#Aynı zamanda liste üreteçleri kullanılarak da yapılabilir:
liste=[sayi for sayi in range(101)]#Bu şekilde de üretilebilir.
print(liste)
#Eğer belli bir alandaki sayıları tek tek değil de bir kaç sayı atlayarak yapacaksanız, mesela 1-100 arası 3'e bölünen sayılar için
uce_bolunenler=list(range(3,100,3))
print(uce_bolunenler)
#Bu işi şu şekilde de yapabilirsiniz:
uce_bolunenler=[sayi for sayi in range(3,100) if sayi%3==0]#Bu bir kalıptır. Bunları aklınızda tutun. IF yazdıktan sonra bunun sonucunu True verenler listeye alınır.
print(uce_bolunenler)
#Şimdi personel listesine bakalım:
personel_bilgileri=["Abdullah Kaya","Pazarlama",1371],["Abdulselam Ozarslan","Bilgi İşlem",1329],["Ahmet Aras","Yönetim",1353],["Ahmet Demirkol","Finans",1436],["Ahmet Turunç","Yönetim",1476],["Ali Rıza Kıldeş","Muhasebe",1410],["Asım Dursun","Finans",1486],["Atalay Gençel","Bilgi İşlem",1395],["Aydın Tarı","Pazarlama",1324],["Cüneyt Güçün","İnsan Kaynakları",1333],["Damla Fidan","Finans",1167],["Deniz Berkay Çiçek","Pazarlama",1359],["Derya Arıkboğa","Bilgi İşlem",1298],["Elif Aslan","İnsan Kaynakları",1064],["Emine Torun","Üretim",1199],["Erkan Yüzgeç","Yönetim",1127],["Faruk Uzman","İnsan Kaynakları",1399],["Fatih Erdem","Pazarlama",1397],["Fırat Kaya","Pazarlama",1351],["Gülşah Zaman","İnsan Kaynakları",1369],["Haluk Kazanasmaz","Pazarlama",1212],["İbrahim Esmer","İnsan Kaynakları",1232],["İhsan Akkuş","Yönetim",1195],["İzzet Bozkurt","Muhasebe",1205],["Mehmet Akif Çelik","Pazarlama",1026],["Mehmet Esen","Muhasebe",1175],["Mesut Burak Derge","Yönetim",1063],["Muhammed Vurulmaz","Üretim",1210],["Murat Göğebakan","Pazarlama",1309],["Mustafa Demirel","Pazarlama",1301],["Mustafa Kalkan","Finans",1480],["Mustafa Utkun","Pazarlama",1352],["Necat Aslan","Muhasebe",1130],["Onur Utku Yüksel","Pazarlama",1401],["Seyfettin Yanık","Pazarlama",1336],["Tahsin Aytekin","Üretim",1016],["Tuğba Akdağ","Yönetim",1347],["Umut İlhan","Yönetim",1130],["Vecdin Ektiren","Muhasebe",1308],["Yakup Kantaci","Üretim",1336],["Yasemin Mumay","Üretim",1396],["Yusuf Zeytin","Üretim",1285],["Abdulkerim Toplar","Finans",1367],["Ahmet Çapar","Finans",1144],["Ahmet Yaşar","Bilgi İşlem",1138],["Bayram Kaya","Yönetim",1165],["Benan İlayda Tellioğlu","Bilgi İşlem",1379],["Burak Akdemir","Bilgi İşlem",1350],["Burcu Durmuş","Muhasebe",1235],["Bülent Kadir Tartuk","Finans",1439],["Bünyami Çahan","Üretim",1444],["Büşra Över","Üretim",1457],["Cemal Şayık","Pazarlama",1118],["Didem İdikut","Pazarlama",1204],["Elif Aydemir","Yönetim",1362],["Fatih Özmen","Üretim",1126],["Gamze Baydu","İnsan Kaynakları",1215],["Gizem Eğilmez","Muhasebe",1337],["Güliz Rana Tellioğlu","Muhasebe",1495],["Gülüzar Bilir","Finans",1060],["Hakkı Serdar Ünal","Finans",1051],["Hatun Baltık","Pazarlama",1036],["Hilal Özdemir","Yönetim",1007],["Kader Tatar","Finans",1331],["Leyla Bağış","İnsan Kaynakları",1395],["M.Yavuz Yaprak","İnsan Kaynakları",1379],["Mehmet Caymaz","Muhasebe",1357],["Mehmet Katkat","Yönetim",1036],["Mehmet Kılınç","Finans",1367],["Melek Şükran Uyanık","Muhasebe",1128],["Murat Gümüşoğlu","Pazarlama",1481],["Murat Koçlardan","İnsan Kaynakları",1115],["Mustafa Özaydın","Bilgi İşlem",1050],["Orçun Çavuş","İnsan Kaynakları",1432],["Osman Yavuz","Muhasebe",1417],["Ramazan Bağrıyanık","İnsan Kaynakları",1130],["Recep Erdem","Muhasebe",1206],["Reşat Akyün","İnsan Kaynakları",1009],["Reşat Hilmi Erdem","Bilgi İşlem",1093],["Rezan Sungur","Finans",1284],["Sabahattin Bor","Muhasebe",1361],["Said Mirza Kızmaz","Pazarlama",1113],["Sema Sert","Muhasebe",1083],["Sevgi Güngör","Yönetim",1287],["Şilan Bilek","Pazarlama",1459],["Şükran Karakoç","Pazarlama",1229],["Tolga Bayar","Muhasebe",1426],["Vahdettin Avcı","İnsan Kaynakları",1158],["Vildan Kavmaz","Bilgi İşlem",1341],["Yeliz Çiçek","Üretim",1311],["Zeynep Çaynak","İnsan Kaynakları",1069],["Alişan Barca","Finans",1345],["Asil Çeliktürk","Pazarlama",1167],["Beşir Gürbüz","Yönetim",1016],["Bilal Ocakhanoğlu","Üretim",1223],["Celalettin Akın","Yönetim",1216],["Cihad Yıldız","Bilgi İşlem",1137],["Çilem Sarıyonca","İnsan Kaynakları",1034],["Ecem Efe","İnsan Kaynakları",1198],["Emel Bulut","Finans",1346],["Emin Tekinay","Pazarlama",1077],["Ender Gülsün","Üretim",1202],["Erdal Gündoğan","İnsan Kaynakları",1379],["Erhan Çelik","Üretim",1435],["Ersin Keskin","Yönetim",1228],["Eser Koç","Muhasebe",1261],["Gökhan Akarı","Muhasebe",1356],["Göksal Özçelik","Bilgi İşlem",1080],["Gülnigar Laçin","Pazarlama",1232],["Hasret Tanrıverdi","Bilgi İşlem",1365],["Hidayet Çelik","Bilgi İşlem",1113],["Malik Daşdelen","Üretim",1067],["Mazlum Kardaş","Üretim",1382],["Mehmet Gül","Pazarlama",1494],["Mehmet Salık","Üretim",1106],["Melin Akaya","Bilgi İşlem",1216],["Mervenur Yanen","Bilgi İşlem",1047],["Mustafa Karataş","Yönetim",1117],["Mustafa Solmazgül","Bilgi İşlem",1118],["Necati Abay","Muhasebe",1284],["Necati Filiz","Bilgi İşlem",1024],["Rojdan Ferman Güneş","Finans",1498],["Saime Altun","Muhasebe",1335],["Serkan Emir","Üretim",1221],["Sevim Şen","İnsan Kaynakları",1230],["Uğur Yıldırım","Pazarlama",1462],["Vedat Yüksel","Üretim",1210],["Zeki Özalp","İnsan Kaynakları",1337],["Zeynel Özkan Çelik","Muhasebe",1320],["Abdulkadir Karabaş","Pazarlama",1341],["Abdullah Karaca","Bilgi İşlem",1022],["Abdulsamet Narçiçeği","Finans",1055],["Askeri Ulaş","Üretim",1049],["Aslı Seyrek","Muhasebe",1095],["Celil Can Çetin","Finans",1334],["Cihan Yatçi","Yönetim",1489],["Ekim Karakuş","İnsan Kaynakları",1099],["Emine But","Yönetim",1216],["Emrullah Budak","Muhasebe",1401],["Emrullah Kaplanoğlu","Pazarlama",1313],["Erol Aydın","Üretim",1242],["Esin Günay","Üretim",1098],["Gökhan Öztürk","Finans",1099],["Gözde Canıtezer","Pazarlama",1166],["Gülay İlhan","Muhasebe",1340],["Hamdullah Çakır","Üretim",1259],["Hamit Yenikan","Üretim",1124],["Hülya Lale","Pazarlama",1327],["Hüseyin Türmak","Yönetim",1114],["Hüseyin Yıldırım","Bilgi İşlem",1226],["İbrahim Balık","İnsan Kaynakları",1160],["İzzet Acıkan","Muhasebe",1333],["Kamuran Türkmen","Muhasebe",1014],["Mesut Tekin","Bilgi İşlem",1066],["Murat Karaduman","Üretim",1378],["Murat Uçar","İnsan Kaynakları",1481],["Mustafa Elmacı","Bilgi İşlem",1474],["Mustafa Erkan Kutlu","İnsan Kaynakları",1145],["Nagihan Çakmak","Finans",1067],["Nihal Mete","Bilgi İşlem",1404],["Pelin Tüfenkçi","Pazarlama",1149],["Perihan Uvalı","Bilgi İşlem",1358],["Pınar Karakılçık","İnsan Kaynakları",1281],["Ramazan Kara","Pazarlama",1061],["Selma Dal","Muhasebe",1364],["Serhat Karanoğlu","Pazarlama",1431],["Serkan Ataş","Bilgi İşlem",1496],["Sümmeye Yaşa","Üretim",1120],["Zelal Yıldırım","Üretim",1277],["Ayşe Yüksel","Finans",1064],["Ayşegül Durman","Bilgi İşlem",1019],["Basriye Çalışkan","İnsan Kaynakları",1290],["Caner Asma","Üretim",1179],["Cuma Göçer","Finans",1255],["Emrah Emre","Finans",1449],["Erdal Özmen","Muhasebe",1430],["Fatih Kandemir","Finans",1102],["İbrahim Arcanlı","İnsan Kaynakları",1181],["İbrahim Aslan","İnsan Kaynakları",1471],["Kudret Şengül","Bilgi İşlem",1404],["Maruf Öztürk","Muhasebe",1064],["Musa Yoldaş","Üretim",1376],["Nuray Ergin","Üretim",1010],["Onur Uğur Sevim","Üretim",1438],["Pınar Toptaş","Bilgi İşlem",1393],["Rıfat Adiyaman","Yönetim",1437],["Serap Gülçin Sarihan","Bilgi İşlem",1148],["Veysi Tutar","Pazarlama",1481],["Yavuz Özkan","Finans",1146],["Yusuf Bilici","İnsan Kaynakları",1484],["Zeynep Türk","Bilgi İşlem",1250]
#Burada amacımız Pazarlama personelini ayrı bir listeye almak:
pazarlama_personeli=[[adi,departman,maas] for [adi,departman,maas] in personel_bilgileri if departman=="Pazarlama"]
print(pazarlama_personeli)#Burada tek hamlede işlemi gerçekleştirdik. Bunu döngü yaparak da sağlayabilirdik fakat bu uzun yol olurdu. Python'ın üstünlüklerini kullanmak adına bu işlemi uygulamak daha makuldür.
#Şimdi aynı şekilde hem Pazarlama biriminde çalışan ve hem de maaşı 1350 TL'yi geçenleri tespit ederim:
yeni_liste=[[adi,departman,maas] for [adi,departman,maas] in personel_bilgileri if departman=="Pazarlama" and maas>=1350]
print(yeni_liste)
#Eğer sadece bu kişilerin adlarını görmek isterseniz:
yeni_liste=[[adi] for [adi,departman,maas] in personel_bilgileri if departman=="Pazarlama" and maas>=1350]#Burada dikkat etmeniz gereken husus, tanımlamaların "for [adi,departman,maas]" bölümünde yapıldığıdır. Bu tanımlama yapıldığı için ilk kısımdaki [adi] işlem yapar ve sadece adi parametresi listeye eklenir.
print(yeni_liste)
#Sadece maas görünsün isterseniz:
yeni_liste=[[maas] for [adi,departman,maas] in personel_bilgileri if departman=="Pazarlama" and maas>=1350]
print(yeni_liste)
#Eğer [maas] yerine maas şeklinde yazarsanız bu durumda listenin elemanları liste olmaktan çıkar ve listenin elemanları sadece birer eleman olarak kalır.
yeni_liste=[maas for [adi,departman,maas] in personel_bilgileri if departman=="Pazarlama" and maas>=1350]
print(yeni_liste)
#Eğer yeni durumda maaşları bir de sıralanmış şekilde görmek isterseniz dışına SORTED yazın.
yeni_liste=sorted([maas for [adi,departman,maas] in personel_bilgileri if departman=="Pazarlama" and maas>=1350])
print(yeni_liste)
#Eğer listedeki gösterim sırasını değiştirmek isterseniz, mesela önce departman, sonra maaş ve sonra isim:
yeni_liste=[[departman,maas,adi] for [adi,departman,maas] in personel_bilgileri if departman=="Pazarlama" and maas>=1350]
print(yeni_liste)
#Aşağıdaki örneği inceleyiniz.
calisan_listesi=[
['Abdullah Kaya','Pazarlama', 1371],
['Abdulselam Ozarslan', 'Bilgi İşlem', 1329],
['Ahmet Aras', 'Yönetim', 1353],
['Ahmet Demirkol', 'Finans', 1436]
]
#Amacımız buradaki tüm unsurları tek liste olarak yan yana yazmak.
butunu=list()
for eleman in calisan_listesi:
for x in eleman:#Burada eleman da aslında bir listedir. Bu nedenle eleman içindeki her bir unsur da x olur. Adı, departmanı ve maaşı x'e yüklenir.
butunu.append(x)
print(butunu)
#Yukarıdaki kodu birleştirerek sunarsak:
butunu=[x for eleman in calisan_listesi for x in eleman]#En öne biz neyi göstereceksek onu koyacağız. Yani x başta olacaktır. butunu adındaki liste x'lerden oluşacak demektir.
#Daha sonraki adımda ise artık ilk kurgudaki ifadeleri ard arda diziyoruz.
print(butunu)
###########################
#SÖZLÜK ÜRETEÇLERİ
personel_bilgileri=["Abdullah Kaya","Pazarlama",1371],["Abdulselam Ozarslan","Bilgi İşlem",1329],["Ahmet Aras","Yönetim",1353],["Ahmet Demirkol","Finans",1436],["Ahmet Turunç","Yönetim",1476],["Ali Rıza Kıldeş","Muhasebe",1410],["Asım Dursun","Finans",1486],["Atalay Gençel","Bilgi İşlem",1395],["Aydın Tarı","Pazarlama",1324],["Cüneyt Güçün","İnsan Kaynakları",1333],["Damla Fidan","Finans",1167],["Deniz Berkay Çiçek","Pazarlama",1359],["Derya Arıkboğa","Bilgi İşlem",1298],["Elif Aslan","İnsan Kaynakları",1064],["Emine Torun","Üretim",1199],["Erkan Yüzgeç","Yönetim",1127],["Faruk Uzman","İnsan Kaynakları",1399],["Fatih Erdem","Pazarlama",1397],["Fırat Kaya","Pazarlama",1351],["Gülşah Zaman","İnsan Kaynakları",1369],["Haluk Kazanasmaz","Pazarlama",1212],["İbrahim Esmer","İnsan Kaynakları",1232],["İhsan Akkuş","Yönetim",1195],["İzzet Bozkurt","Muhasebe",1205],["Mehmet Akif Çelik","Pazarlama",1026],["Mehmet Esen","Muhasebe",1175],["Mesut Burak Derge","Yönetim",1063],["Muhammed Vurulmaz","Üretim",1210],["Murat Göğebakan","Pazarlama",1309],["Mustafa Demirel","Pazarlama",1301],["Mustafa Kalkan","Finans",1480],["Mustafa Utkun","Pazarlama",1352],["Necat Aslan","Muhasebe",1130],["Onur Utku Yüksel","Pazarlama",1401],["Seyfettin Yanık","Pazarlama",1336],["Tahsin Aytekin","Üretim",1016],["Tuğba Akdağ","Yönetim",1347],["Umut İlhan","Yönetim",1130],["Vecdin Ektiren","Muhasebe",1308],["Yakup Kantaci","Üretim",1336],["Yasemin Mumay","Üretim",1396],["Yusuf Zeytin","Üretim",1285],["Abdulkerim Toplar","Finans",1367],["Ahmet Çapar","Finans",1144],["Ahmet Yaşar","Bilgi İşlem",1138],["Bayram Kaya","Yönetim",1165],["Benan İlayda Tellioğlu","Bilgi İşlem",1379],["Burak Akdemir","Bilgi İşlem",1350],["Burcu Durmuş","Muhasebe",1235],["Bülent Kadir Tartuk","Finans",1439],["Bünyami Çahan","Üretim",1444],["Büşra Över","Üretim",1457],["Cemal Şayık","Pazarlama",1118],["Didem İdikut","Pazarlama",1204],["Elif Aydemir","Yönetim",1362],["Fatih Özmen","Üretim",1126],["Gamze Baydu","İnsan Kaynakları",1215],["Gizem Eğilmez","Muhasebe",1337],["Güliz Rana Tellioğlu","Muhasebe",1495],["Gülüzar Bilir","Finans",1060],["Hakkı Serdar Ünal","Finans",1051],["Hatun Baltık","Pazarlama",1036],["Hilal Özdemir","Yönetim",1007],["Kader Tatar","Finans",1331],["Leyla Bağış","İnsan Kaynakları",1395],["M.Yavuz Yaprak","İnsan Kaynakları",1379],["Mehmet Caymaz","Muhasebe",1357],["Mehmet Katkat","Yönetim",1036],["Mehmet Kılınç","Finans",1367],["Melek Şükran Uyanık","Muhasebe",1128],["Murat Gümüşoğlu","Pazarlama",1481],["Murat Koçlardan","İnsan Kaynakları",1115],["Mustafa Özaydın","Bilgi İşlem",1050],["Orçun Çavuş","İnsan Kaynakları",1432],["Osman Yavuz","Muhasebe",1417],["Ramazan Bağrıyanık","İnsan Kaynakları",1130],["Recep Erdem","Muhasebe",1206],["Reşat Akyün","İnsan Kaynakları",1009],["Reşat Hilmi Erdem","Bilgi İşlem",1093],["Rezan Sungur","Finans",1284],["Sabahattin Bor","Muhasebe",1361],["Said Mirza Kızmaz","Pazarlama",1113],["Sema Sert","Muhasebe",1083],["Sevgi Güngör","Yönetim",1287],["Şilan Bilek","Pazarlama",1459],["Şükran Karakoç","Pazarlama",1229],["Tolga Bayar","Muhasebe",1426],["Vahdettin Avcı","İnsan Kaynakları",1158],["Vildan Kavmaz","Bilgi İşlem",1341],["Yeliz Çiçek","Üretim",1311],["Zeynep Çaynak","İnsan Kaynakları",1069],["Alişan Barca","Finans",1345],["Asil Çeliktürk","Pazarlama",1167],["Beşir Gürbüz","Yönetim",1016],["Bilal Ocakhanoğlu","Üretim",1223],["Celalettin Akın","Yönetim",1216],["Cihad Yıldız","Bilgi İşlem",1137],["Çilem Sarıyonca","İnsan Kaynakları",1034],["Ecem Efe","İnsan Kaynakları",1198],["Emel Bulut","Finans",1346],["Emin Tekinay","Pazarlama",1077],["Ender Gülsün","Üretim",1202],["Erdal Gündoğan","İnsan Kaynakları",1379],["Erhan Çelik","Üretim",1435],["Ersin Keskin","Yönetim",1228],["Eser Koç","Muhasebe",1261],["Gökhan Akarı","Muhasebe",1356],["Göksal Özçelik","Bilgi İşlem",1080],["Gülnigar Laçin","Pazarlama",1232],["Hasret Tanrıverdi","Bilgi İşlem",1365],["Hidayet Çelik","Bilgi İşlem",1113],["Malik Daşdelen","Üretim",1067],["Mazlum Kardaş","Üretim",1382],["Mehmet Gül","Pazarlama",1494],["Mehmet Salık","Üretim",1106],["Melin Akaya","Bilgi İşlem",1216],["Mervenur Yanen","Bilgi İşlem",1047],["Mustafa Karataş","Yönetim",1117],["Mustafa Solmazgül","Bilgi İşlem",1118],["Necati Abay","Muhasebe",1284],["Necati Filiz","Bilgi İşlem",1024],["Rojdan Ferman Güneş","Finans",1498],["Saime Altun","Muhasebe",1335],["Serkan Emir","Üretim",1221],["Sevim Şen","İnsan Kaynakları",1230],["Uğur Yıldırım","Pazarlama",1462],["Vedat Yüksel","Üretim",1210],["Zeki Özalp","İnsan Kaynakları",1337],["Zeynel Özkan Çelik","Muhasebe",1320],["Abdulkadir Karabaş","Pazarlama",1341],["Abdullah Karaca","Bilgi İşlem",1022],["Abdulsamet Narçiçeği","Finans",1055],["Askeri Ulaş","Üretim",1049],["Aslı Seyrek","Muhasebe",1095],["Celil Can Çetin","Finans",1334],["Cihan Yatçi","Yönetim",1489],["Ekim Karakuş","İnsan Kaynakları",1099],["Emine But","Yönetim",1216],["Emrullah Budak","Muhasebe",1401],["Emrullah Kaplanoğlu","Pazarlama",1313],["Erol Aydın","Üretim",1242],["Esin Günay","Üretim",1098],["Gökhan Öztürk","Finans",1099],["Gözde Canıtezer","Pazarlama",1166],["Gülay İlhan","Muhasebe",1340],["Hamdullah Çakır","Üretim",1259],["Hamit Yenikan","Üretim",1124],["Hülya Lale","Pazarlama",1327],["Hüseyin Türmak","Yönetim",1114],["Hüseyin Yıldırım","Bilgi İşlem",1226],["İbrahim Balık","İnsan Kaynakları",1160],["İzzet Acıkan","Muhasebe",1333],["Kamuran Türkmen","Muhasebe",1014],["Mesut Tekin","Bilgi İşlem",1066],["Murat Karaduman","Üretim",1378],["Murat Uçar","İnsan Kaynakları",1481],["Mustafa Elmacı","Bilgi İşlem",1474],["Mustafa Erkan Kutlu","İnsan Kaynakları",1145],["Nagihan Çakmak","Finans",1067],["Nihal Mete","Bilgi İşlem",1404],["Pelin Tüfenkçi","Pazarlama",1149],["Perihan Uvalı","Bilgi İşlem",1358],["Pınar Karakılçık","İnsan Kaynakları",1281],["Ramazan Kara","Pazarlama",1061],["Selma Dal","Muhasebe",1364],["Serhat Karanoğlu","Pazarlama",1431],["Serkan Ataş","Bilgi İşlem",1496],["Sümmeye Yaşa","Üretim",1120],["Zelal Yıldırım","Üretim",1277],["Ayşe Yüksel","Finans",1064],["Ayşegül Durman","Bilgi İşlem",1019],["Basriye Çalışkan","İnsan Kaynakları",1290],["Caner Asma","Üretim",1179],["Cuma Göçer","Finans",1255],["Emrah Emre","Finans",1449],["Erdal Özmen","Muhasebe",1430],["Fatih Kandemir","Finans",1102],["İbrahim Arcanlı","İnsan Kaynakları",1181],["İbrahim Aslan","İnsan Kaynakları",1471],["Kudret Şengül","Bilgi İşlem",1404],["Maruf Öztürk","Muhasebe",1064],["Musa Yoldaş","Üretim",1376],["Nuray Ergin","Üretim",1010],["Onur Uğur Sevim","Üretim",1438],["Pınar Toptaş","Bilgi İşlem",1393],["Rıfat Adiyaman","Yönetim",1437],["Serap Gülçin Sarihan","Bilgi İşlem",1148],["Veysi Tutar","Pazarlama",1481],["Yavuz Özkan","Finans",1146],["Yusuf Bilici","İnsan Kaynakları",1484],["Zeynep Türk","Bilgi İşlem",1250]
#Şimdi önceki örneklerimize dönelim:
###############
#Bunun mantığını pekiştirmek için önce uzun yolu izleyelim:
yeni_liste=[[departman,maas,adi] for [adi,departman,maas] in personel_bilgileri if departman=="Pazarlama" and maas>=1350]
#Buradaki kodu uzun yazmak istersek:
yeni_liste=list()#Önce boş bir liste tanımladık.
print(personel_bilgileri)
for [adi,departman,maas] in personel_bilgileri:
if departman=="Pazarlama" and maas>=1350:
yeni_liste+=[departman,maas,adi]# Ya da yeni_liste.append([departman,maas,adi]) kullanılabilir.
print(yeni_liste)
"""
Yukarıdaki işlemi kısaltırken izlenecek adımlar:
1. En öne hangi bilgileri koyacağımızı yazarız: [departman,maas,adi] ifadesi en öne geldi. Fakat bunları kafamıza göre tanımlamadık. Sonraki adımlarda tanımladık.
2. for [adi,departman,maas] in personel_bilgileri ifadesi hemen ardına geldi.
3. Onun da hemen ardına if departman=="Pazarlama" and maas>=1350 ifadesini koyduk.
4. İlk maddede gösterilecek unsurlar olan [departman,maas,adi] ifadeleri aslında yeni_liste+=[departman,maas,adi] satırında da geçti. İlk kısım aslında buna referanstır.
"""
#Bir örnek daha yapalım. Bu defa yeni liste bir sözlük olsun. Kişinin adı anahtar olsun. Değer kısmı ise maaştan ibaret olsun.
yeni_liste=dict()
for [adi,departman,maas] in personel_bilgileri:
if departman=="Bilgi İşlem":
yeni_liste[adi]=maas
print(yeni_liste)
#Bunu kısaltırsak:
yeni_liste={adi:maas for [adi, departman,maas] in personel_bilgileri if departman=="Bilgi İşlem"}
print(yeni_liste)
"""
Yukarıdaki adımları inceleyelim:
1. Sözlük olduğu için en dışa süslü parantez {} işaretleri kondu. Bu, bir sözlük ürettiğiniz anlamına geliyor.
2. Sözlükteki anahtar:değer formatına uygun olarak adi:maas eklendi. Yani adi anahtar olacak, maas ise değer olacaktır.
3. for [adi, departman,maas] in personel_bilgileri ifadesi zaten anlaşılmıştır. Fakat burada yine de [adi, departman,maas] ifadeleri aynı zamanda anahtar ve değer kısmında da kullanıldı. Buna dikkat edin.
4. Koşul için ise if departman=="Bilgi İşlem" kullanıldı.
"""
#Şimdi ise toplam maaşları hesaplayalım. Burada önce maaşları bir liste içine atarız. Sonra diğer kısımları yazarız. Böyle liste üretilir. Listenin en dışına da SUM() yazarız.
toplam_maas=sum([maas for [adi, departman,maas] in personel_bilgileri if departman=="Bilgi İşlem"])
print(toplam_maas)
#Peki bu kurala uyan kaç tane sonuç olduğunu nasıl bulacağız? Aslında cevap çok basit. LEN fonksiyonu ile. SUM yerine LEN yazıldığında sorun çözülür.
adet=len([maas for [adi, departman,maas] in personel_bilgileri if departman=="Bilgi İşlem"])
print(adet)
#Ortalama için ise iki yol var:
ortalama=round(toplam_maas/adet,2)
print(ortalama)
ortalama=sum([maas for [adi, departman,maas] in personel_bilgileri if departman=="Bilgi İşlem"])/len([maas for [adi, departman,maas] in personel_bilgileri if departman=="Bilgi İşlem"])
print(ortalama)
#Liste üreteci ile çıkan sonucu kullanıcı tanımlı bir fonksiyonda kullanabilirsiniz.
def ortalama(sayilar):
toplam=sum(sayilar)
adet=len(sayilar)
return round(toplam/adet,2)
print(
ortalama([maas for [adi, departman, maas] in personel_bilgileri])
)
#Liste üretecinde fonksiyon da kullanılabilir. Burada örnek olarak zam sonrası maaşları hesaplamak için zam_hesapla adında bir fonksiyon üreteceğiz. Daha sonra bu fonksiyonu liste üretecine aktaracağız.
#Pazarlama %10, Bilgi İşlem:%20, Yönetim %15, kalanlar:%5
def zam_hesapla(departman_adi, mevcut_maas):
if departman_adi=="Pazarlama":
return round(mevcut_maas*1.1, 2)
elif departman_adi=="Bilgi İşlem":
return round(mevcut_maas*1.2, 2)
elif departman_adi=="Yönetim":
return round(mevcut_maas*1.15, 2)
else:
return round(mevcut_maas * 1.05, 2)
zamli_liste=[[adi, departman, zam_hesapla(departman, maas)] for [adi, departman, maas] in personel_bilgileri]
print(
zamli_liste
)
Python Mucizesi - Temelden Uzmanlığa (Full Paket) eğitimine hoş geldiniz.
Bu eğitim, diğer tüm Python eğitimlerimi içeren bir tam dolu pakettir. Bu eğitimi satın aldığınızda diğer Python paketlerimi satın almanıza gerek kalmamakla birlikte ileride başka Python eğitimleri yayınladığımda bu eğitimlerin içerikleri otomatik olarak buraya da eklenecektir.
Bilindiği gibi yazılım dillerinde çok kod olduğu için yeni öğrendiğiniz bilgiler eski bilgileri unutmanıza yol açar. Bu eğitimde bu sorun kökten giderilmiştir. Bu kapsamsa şu hususlar uygulanmıştır:
Eğitim içerikleri bol örnekler ile yapılmıştır. O kadar çok örnek vardır ki, öğrendiklerinizi aradan uzun zaman geçse bile gözünüz kapalı tekrar yapabilirsiniz.
Eğitimin tüm içerikleri not olarak size sunulmaktadır. Böylece tekrar etmek istediğinizde videoları yeniden izlemenize gerek yoktur. Notlara göz atmanız yeterlidir. Bu notlar WORD olarak verildiği için telefonunuz dahil her yerden okuyabilirsiniz.
Tüm örnekler gerçek hayattan örneklerdir.
Her adımda yeni kodlar öğretilirken çok örnek yapmanın yanında geçmişte öğrendiğiniz kodlar ile birleştirerek konuları anlatıyoruz.
Eğitimde kod anlatımının yanında özellikle strateji geliştirme konusu da çok detaylı şekilde anlatılmaktadır.
EĞİTİM İÇERİĞİ:
Giriş
Python Ortamının Kurulumu
Temel Python
Python Genel Yapısı
Basit Metin İşlemleri ve Not Alma İşlemleri
Python'da Metinler, Sayılar ve Türler
Değişkenler
Print Fonksiyonu
PRINT Fonksiyonu ile Dosyaya Veri Yazdırmak
PRINT Fonksiyonunda Özel Karakterler
Python ile Kodlama
Veri Girişi ve Input Fonksiyonu
Koşullar (IF Komutu)
Koşul Komutları
Operatörler
Örnek Uygulamalar: Veri Girişi, Koşullar ve Operatörler
Python Dilinde Diziler ve Büyük Veri İşlemleri
Listeler (Lists)
Liste İşlemleri
Liste Fonksiyonları
Sözlükler (Dictionaries)
Sözlük Uygulamaları
Sözlük Fonksiyonları
Demetler (Tuples)
Demet (Tuple) Uygulamaları
Kümeler (Sets)
Döngüler ve Metin İşlemleri
FOR Döngüsü
FOR Döngüsü Uygulamaları
FOR Döngüsü Deyimleri: Break, Continue, Range, Enumerate, Zip
While Döngüsü
Döngülerde ELSE Deyimi
String (Metin) İşlemleri
String (Metin) Fonksiyonları
İleri String Fonksiyonları
String Uygulamaları: IS ile Başlayan Fonksiyonlar
String Uygulamaları: HTML ve COUNT
String Uygulamaları: INDEX, RINDEX, LJUST ve RJUST
String Uygulamaları: PATITION, RPARTITION, CHR ve ORD
FORMAT Metodu ve Detayları
FORMAT Metodu Uygulamaları
Fonksiyonlar
Matematiksel ve Sayısal Fonksiyon ve İşlemler
Tarih Fonksiyon ve İşlemleri
Kullanıcı Tanımlı Fonksiyonlar
Kullanıcı Tanımlı Fonksiyon Uygulamaları
Çok Parametreli Fonksiyon Tanımlama
Hazır Fonksiyonlar
FILTER Fonksiyonu
MAP Fonksiyonu
Genel Fonksiyon Uygulamaları
Python ile Veri Analizi
Metinler, Listeler, Sözlükler, Demetler, Kümeler, Koşullar ve Döngüler
Üreteçler
Sözlük Üreteçleri
Tablo ve Filtre İşlemleri
Pivot Analizi
Üreteçlerde Fonksiyon Kullanmak
Üreteçlerde IF Komutu
İstatistik ve Simülasyon
Sözlüklerde Arama/Tespit İşlemleri
Listeleri Hizalayarak Yazdırma İşlemleri
Arama Motoru Algoritması Oluşturmak
İkili Tablo Eşleştirme İşlemleri
İkili Tablo Eşleştirme Uygulamaları
Çoklu Tablo Eşleştirme İşlemleri
Çoklu Tabloları Sözlük Kullanımı ile Kısaltma
Mali Tablo İşlemleri
Metinler için Üreteçler
Dosya İşlemleri
Dosyaya Veri Yazmak
Dosyadan Veri Okumak
Dosya İşlemleri Uygulamaları
Dosya İşlemleri Kuralları
Hata İşlemleri
Python Program Hataları
Hata Uygulamaları
Nesne Tabanlı Programlama
Modüller ve Kütüphaneler
Kullanıcı Tanımlı Modüller
Modül Çağırma Kuralları
Sınıf (Class) Oluşturma
Sınıflara Başlangıç Değeri Atamak
Sınıf Başlangıç Değeri Uygulamaları
Çok Değişkenli Sınıf İşlemleri
Sınıflarda Gizli Değişkenler ve Yarı Gizli Değişkenler
Sınıflarda Miras Alma
Sınıf (Class) Uygulamaları
Veri Bilimi (Data Science): Pandas Kütüphanesi
DataFrame İşlemleri
DataFrame Adres İşlemleri
DataFrame Örnek Uygulamaları
Veriler Üzerinde Değişiklik Yapmak (Silmek, Eklemek, Dönüştürmek)
Filtreleme İşlemleri
Filtre Uygulamaları
Metin Dosyası Analiz İşlemleri
Excel İşlemleri
CSV İşlemleri
XML İşlemleri
DataFrame Tekrar ve Uygulamaları
SERIES İşlemleri
Index ve Tablo Yapısı İşlemleri
Veri Değiştirme İşlemleri
Aritmetik İşlemler
Aritmetik İşlemler ve Veri Uygulamaları
Metin (String) İşlemleri
Tablo Birleştirme İşlemleri
Tablo Eşleştirme Kuralları
Tablo Eşleştirme İşlemleri
Çoklu Tablo Eşleştirme
Pandas Fonksiyonları
Veri Gruplama ve İstatistiki Analizler
Pivot Tablo
Pivot Tabloda Çoklu Satır ve Sütun
Pivot Tablo Uygulamaları
Grafik Çizim İşlemleri
Veri Bilimi (Data Science): Numpy Kütüphanesi
Numpy Kütüphanesi Genel Görünümü
Dizilerin Yapısı
Dizi (ARRAY) Tanımlama İşlemleri
Dizi Üreteci Parametreleri
Numpy Veri Türleri
Dizilerde Sıralama İşlemi
Dizi ile İlgili Bilgi Alma
Adresleme İşlemleri
Filtreleme İşlemleri
Dizi Verilerini Değiştirmek
Dizilerde Birleştirme İşlemi
Dizileri Alt Dizilere Bölmek
Temel Matematiksel İşlemler
Trigonometrik ve Logaritmik İşlemler
Numpy Uygulamaları
Bir Dizideki Benzersiz Elemanları Listelemek
Dizileri Ters Çevirmek
Çok Boyutlu Dizileri Sadeleştirmek
Numpy ile Veri İşleme ve Yapılandırılmış Diziler
Grafik İşlemleri (Matplotlib Kütüphanesi)
Temel Grafik İşlemleri
Grafik Bileşenleri
Grafik Parametre Uygulamaları
Grafiğin Belli Bir Alanını Göstermek
Eksen Etiketlerini Düzenlemek
Tek Grafik İçerisinde Çoklu Çizim
Çoklu Grafikleri Farklı Bölgelerde Göstermek
Çoklu Grafik Uygulamaları
Grafik Çeşitleri
Çubuk (Bar) Grafik
Çubuk Grafik Parametreleri
Eksen Değerlerini Değiştirmek
Üst Üste Çubuk Grafikler
Farklı Kaynakları Grafiğe Çevirmek
Grafiğe Tablo Eklemek
İki Boyutlu Verilerde Tablo Ekleme
Çubuk Grafik Uygulamaları
Grafiklere Veri Etiketi Eklemek
Dağılım (Scatter) Grafiği
Pasta (Pie) Grafik
Alan (Area) Grafiği
Histogram Grafik