<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	>
<channel>
	<title>Comments on: Python ile dosya karşılaştırması yapmak</title>
	<atom:link href="http://blog.arsln.org/python-ile-dosya-karsilastirmasi-yapmak/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.arsln.org/python-ile-dosya-karsilastirmasi-yapmak/</link>
	<description>Dağlara çıkamayan uzakları göremez ...</description>
	<pubDate>Mon, 13 Oct 2008 01:25:10 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.6.2</generator>
		<item>
		<title>By: Gürer</title>
		<link>http://blog.arsln.org/python-ile-dosya-karsilastirmasi-yapmak/#comment-3431</link>
		<dc:creator>Gürer</dc:creator>
		<pubDate>Thu, 17 Apr 2008 21:26:54 +0000</pubDate>
		<guid isPermaLink="false">http://blog.arsln.org/?p=417#comment-3431</guid>
		<description>Evet, yeni bi string oluşturuluyor, kendisine herhangi bir referans kalmadığı için de eski string bellekten temizleniyor garbage collector tarafından.</description>
		<content:encoded><![CDATA[<p>Evet, yeni bi string oluşturuluyor, kendisine herhangi bir referans kalmadığı için de eski string bellekten temizleniyor garbage collector tarafından.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Fatih Arslan</title>
		<link>http://blog.arsln.org/python-ile-dosya-karsilastirmasi-yapmak/#comment-3428</link>
		<dc:creator>Fatih Arslan</dc:creator>
		<pubDate>Thu, 17 Apr 2008 19:51:38 +0000</pubDate>
		<guid isPermaLink="false">http://blog.arsln.org/?p=417#comment-3428</guid>
		<description>@Ömer F.Usta:

Yazdığın betikte, sonu 1 olmayan bir girdi olduğunda bir şey yapmıyor galiba. Örneğin 

Asus;Deneme;50-80

eğer bu satır geldiğinde, sonu bir olmadığından if statement kısmını geçecek. Tabi yanlış anlamadıysam böyle olacak. 

Ayrıca önizleme butonu hakkındaki belirtme için teşekkür ederim, en kısa zamanda düzeltmeye çalışacağım

@Hüseyin Akcan

Sıralama ve karşılaştırma algoritmaları hakkında hiç bir fikrim yok. O yüzden hızlı olup olmadığını da bilmiyorum haliyle, dediklerini de yapmaya çalışayım dedim, ama nlogn kelimesini ilk defa duyuyorum. Bu da demek ki daha çok şey öğrenmem gerekecek. Hatırlatma için teşekkürler yine de, zamanı geldiğinde öğrenmeye çalışırım

@Gürer 

Bu güzel ipucu için teşekkür ederim. Şimdi denedim  ve güzel bir şekilde çalıştı. Benim bildiğim stringleri doğrudan değiştiremeyeceğimizdi. Yani immutable olmaları. Bu x = x[:-3] ifadesi o zaman kendisinin bir kopyasını mı oluşturuyor? Aslında gayet mantıklı. Aklıma gelmemişti hiç, slice ile yeni bir string oluşturuyoruz ve onu bir değişkene kaydediyoruz. Ayrıca endswith ifadesini de bilmiyordum, hatırlatma için teşekkürler.</description>
		<content:encoded><![CDATA[<p>@Ömer F.Usta:</p>
<p>Yazdığın betikte, sonu 1 olmayan bir girdi olduğunda bir şey yapmıyor galiba. Örneğin </p>
<p>Asus;Deneme;50-80</p>
<p>eğer bu satır geldiğinde, sonu bir olmadığından if statement kısmını geçecek. Tabi yanlış anlamadıysam böyle olacak. </p>
<p>Ayrıca önizleme butonu hakkındaki belirtme için teşekkür ederim, en kısa zamanda düzeltmeye çalışacağım</p>
<p>@Hüseyin Akcan</p>
<p>Sıralama ve karşılaştırma algoritmaları hakkında hiç bir fikrim yok. O yüzden hızlı olup olmadığını da bilmiyorum haliyle, dediklerini de yapmaya çalışayım dedim, ama nlogn kelimesini ilk defa duyuyorum. Bu da demek ki daha çok şey öğrenmem gerekecek. Hatırlatma için teşekkürler yine de, zamanı geldiğinde öğrenmeye çalışırım</p>
<p>@Gürer </p>
<p>Bu güzel ipucu için teşekkür ederim. Şimdi denedim  ve güzel bir şekilde çalıştı. Benim bildiğim stringleri doğrudan değiştiremeyeceğimizdi. Yani immutable olmaları. Bu x = x[:-3] ifadesi o zaman kendisinin bir kopyasını mı oluşturuyor? Aslında gayet mantıklı. Aklıma gelmemişti hiç, slice ile yeni bir string oluşturuyoruz ve onu bir değişkene kaydediyoruz. Ayrıca endswith ifadesini de bilmiyordum, hatırlatma için teşekkürler.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Gürer</title>
		<link>http://blog.arsln.org/python-ile-dosya-karsilastirmasi-yapmak/#comment-3427</link>
		<dc:creator>Gürer</dc:creator>
		<pubDate>Thu, 17 Apr 2008 17:56:26 +0000</pubDate>
		<guid isPermaLink="false">http://blog.arsln.org/?p=417#comment-3427</guid>
		<description>İlk önce şu uzun for döngüleri yerine basitçe set veritipini kullanabilirsin. set içindeki elemanların tek olduğunu garantiliyor, üstelik iki kümenin farkını almak falan için hazır metotları var.

İkinci .rstrip("; 1") çok yanlış bi kullanım. Mesela "90.11; 1" gibi bi string varsa "90." dışındaki herşeyi silecektir. Orada doğru idiom şu:

if x.endswith("; 1"):
    x = x[:-3]

Kolay gele...</description>
		<content:encoded><![CDATA[<p>İlk önce şu uzun for döngüleri yerine basitçe set veritipini kullanabilirsin. set içindeki elemanların tek olduğunu garantiliyor, üstelik iki kümenin farkını almak falan için hazır metotları var.</p>
<p>İkinci .rstrip(&#8221;; 1&#8243;) çok yanlış bi kullanım. Mesela &#8220;90.11; 1&#8243; gibi bi string varsa &#8220;90.&#8221; dışındaki herşeyi silecektir. Orada doğru idiom şu:</p>
<p>if x.endswith(&#8221;; 1&#8243;):<br />
    x = x[:-3]</p>
<p>Kolay gele&#8230;</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Hüseyin Akcan</title>
		<link>http://blog.arsln.org/python-ile-dosya-karsilastirmasi-yapmak/#comment-3426</link>
		<dc:creator>Hüseyin Akcan</dc:creator>
		<pubDate>Thu, 17 Apr 2008 10:14:25 +0000</pubDate>
		<guid isPermaLink="false">http://blog.arsln.org/?p=417#comment-3426</guid>
		<description>Yazdığın şekilde birinci listedeki her eleman için tüm ikinci listeyi kontrol ediyorsun. O(n^2) bir algoritma yazmişsin, oysaki bu gereksiz, ve eğer listelerin boyları büyürse problem çıkarır. 

Çok daha iyisini yapabilirsin, birinci ve ikinci listeyi sıralarsın, iki listenin birden üzerinden geçersin. O(nlogn) sıralama için, O(n) geçiş için zaman harcarsın, sonuçta O(nlogn) olur.

Eğer bellek sorunun yoksa, birinci listeyi okuyup hash table a atarsın. İkinci listedeki her elemanı bu hash table ile karşılaştırırsın. O(n) hash için, O(n) karşılaştırma için, toplamda O(n) zamanda biter iş, ama çok bellek gerekir.</description>
		<content:encoded><![CDATA[<p>Yazdığın şekilde birinci listedeki her eleman için tüm ikinci listeyi kontrol ediyorsun. O(n^2) bir algoritma yazmişsin, oysaki bu gereksiz, ve eğer listelerin boyları büyürse problem çıkarır. </p>
<p>Çok daha iyisini yapabilirsin, birinci ve ikinci listeyi sıralarsın, iki listenin birden üzerinden geçersin. O(nlogn) sıralama için, O(n) geçiş için zaman harcarsın, sonuçta O(nlogn) olur.</p>
<p>Eğer bellek sorunun yoksa, birinci listeyi okuyup hash table a atarsın. İkinci listedeki her elemanı bu hash table ile karşılaştırırsın. O(n) hash için, O(n) karşılaştırma için, toplamda O(n) zamanda biter iş, ama çok bellek gerekir.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Ömer F. USTA</title>
		<link>http://blog.arsln.org/python-ile-dosya-karsilastirmasi-yapmak/#comment-3425</link>
		<dc:creator>Ömer F. USTA</dc:creator>
		<pubDate>Thu, 17 Apr 2008 08:12:00 +0000</pubDate>
		<guid isPermaLink="false">http://blog.arsln.org/?p=417#comment-3425</guid>
		<description>16 - 30 arasında aynı method aynı parametrelerle sonuçta 1 kere çağrılıyor. Şu şekilde yazmayı tercih ederdim :

for x in first:
  if x in second:
	  pass
  else:
	  if x[-1] == '1':
		  y = x.rstrip('; 1')
		  if y in second:
			  second.remove(y)
          third.write('%s\n' % x )
third.close()


Tabi bu sadece benim kişisel görüşüm.

Not: Blog'undaki Yorum yazdıktan sonra kullanılan "Önizleme" Buttonu çalışmıyor.</description>
		<content:encoded><![CDATA[<p>16 - 30 arasında aynı method aynı parametrelerle sonuçta 1 kere çağrılıyor. Şu şekilde yazmayı tercih ederdim :</p>
<p>for x in first:<br />
  if x in second:<br />
	  pass<br />
  else:<br />
	  if x[-1] == &#8216;1&#8242;:<br />
		  y = x.rstrip(&#8217;; 1&#8242;)<br />
		  if y in second:<br />
			  second.remove(y)<br />
          third.write(&#8217;%s\n&#8217; % x )<br />
third.close()</p>
<p>Tabi bu sadece benim kişisel görüşüm.</p>
<p>Not: Blog&#8217;undaki Yorum yazdıktan sonra kullanılan &#8220;Önizleme&#8221; Buttonu çalışmıyor.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Ömer F. USTA</title>
		<link>http://blog.arsln.org/python-ile-dosya-karsilastirmasi-yapmak/#comment-3424</link>
		<dc:creator>Ömer F. USTA</dc:creator>
		<pubDate>Thu, 17 Apr 2008 08:10:53 +0000</pubDate>
		<guid isPermaLink="false">http://blog.arsln.org/?p=417#comment-3424</guid>
		<description>16 - 30 arasında aynı method aynı parametrelerle sonuçta 1 kere çağrılıyor. Şu şekilde yazmayı tercih ederdim :
&lt;code&gt;~wb(Zǥ&lt;/code&gt;

Tabi bu sadece benim kişisel görüşüm.

Not: Blog'undaki Yorum yazdıktan sonra kullanılan "Önizleme" Buttonu çalışmıyor.</description>
		<content:encoded><![CDATA[<p>16 - 30 arasında aynı method aynı parametrelerle sonuçta 1 kere çağrılıyor. Şu şekilde yazmayı tercih ederdim :</p>
<div class="codecolorer-container text" style="height:35px;">~wb(Zǥ</div>
<p>Tabi bu sadece benim kişisel görüşüm.</p>
<p>Not: Blog&#8217;undaki Yorum yazdıktan sonra kullanılan &#8220;Önizleme&#8221; Buttonu çalışmıyor.</p>
]]></content:encoded>
	</item>
</channel>
</rss>
