Python set() veri türü ile küme işlemleri

in #python8 years ago (edited)

Programala dillerini öğrenirken yapılan en büyük hata, birşeyler tam olarak öğrendiğinizi varsaymaktır. Bu büyük bir yanlıştır. Ilk önce aç olmalı ve her zaman yeni bilgilere hevesli olmalısınız. Bir yerde kesinlikle sizi doyuracak bir bilgi var. Ben biliyorum bunları diyerek kendinizi yeni şeylere kapatmayın ve öğrenmeye devam edin.

Pythonda küme işlemleri

Reel bir örnekten ilerlemek istiyorum. @coogger discord kanalında bir komut var. $follow username komutu bana 2 liste dönüyor.

  • Beni takip eden ve benim takip etmediğım insanlar.
  • Benim takip edipte beni takip etmeyen insanlar.

Yani bunu küme olarak şu şekilde gösterebiliriz. Mematiksel olarak A fark B dediğimiz işleme düşüyor.


Kaynak

Bunu yapmanın 2 yoluna bakalım. 1. for ile tarama işlemi. 2. ise kümeler için uygun olarak bir veri türü :)

For ile tarayarak fark alma

a = np.arange( 10, 300, 1 )
b = np.arange( 0, 500, 1 )
[i for i in b if i not in a])

Set ile fark alma

a = np.arange( 10, 300, 1 )
b = np.arange( 0, 500, 1 )
set(b) - set(a)

Sizce hangisi daha kolay. :) Evet bencede set() veri türü daha kolay. Bu veri türü eşsiz bir liste oluşturmanizi sağlar. Yani bal gibi birşey, herşeye iyi geliyor. :) Kullanmanızı tavsiye ederim.

Uçmaya hazır mısınız?

Yukarıda komutu çalıştırdık. Sizce kaç saniyede çalışacak? Ya da kaç kat hızlı çalışacak.

  • 5 mi?
  • Birisi 10 mu dedi?
  • O 25 diyen arkadaş biraz yaklaştı. Tamam açıklıyorum. Yaklaşık olarak 50 kat daha hızlı çalıştı. Ben veri kümesini biraz arttırdim. Ve koşma zamanlarını ölçtüm. Fotoğrafa bakarak yaklaşık 79 kat daha hızlı çalıştığını görebilirsiniz. :)

    Screen Shot 2018-03-21 at 19.23.05.png
Sort:  

My master @tolgahanuzun ,great work dear ! Keep it up

Hocam emeğine sağlık.

Teşekkür ederim hocam, siz seversiniz matematiği :) Analiz vs.


  • İçeriğiniz coogger projesi tarafından seçilmiş olup 13 hesap
    tarafından upvote atılmıştır içeriğinize upvote atan cooggerup botu hakkında ve
    bu oluşum hakkında detaylı bilgileri aşağıdaki adrese tıklayarak öğrenebilirsiniz.
    https://steemit.com/coogger/@coogger/cooggerup-nedir-ve-discord-kanalimiz

  • Bizimle discord üzerinden iletişime geçebilirsiniz.
    Discord : https://discord.gg/QC5B3GX

  • Bir dahaki sefere sizi daha hızlı bulabilmemiz için coogger etiketini kullanabilirsiniz.

Sende bu oluşumun bir parçası olabilir, destek verebilir veya alabilirsin; discord kanalımıza bekleriz.

Coin Marketplace

STEEM 0.04
TRX 0.33
JST 0.103
BTC 64107.99
ETH 1859.67
USDT 1.00
SBD 0.39