2016-03-24 15 views
0

Temel set anlayışından geçiyorum. Ben bu bir aynı numarayıPython - w ve w arasındaki kavrama farkını ayarlama [0]

first_letters = {w[0] for w in words} 

2 arasındaki fark nedir yapar bu Ardından

words = set('zbcdedg') 

first_letters = set() 

Ben Yine bir dizi anlama

first_letters = {w for w in words} 

kuruyorum var? Neden ikincisini ilkinden daha mı yoksa tam tersi mi kullanıyorsunuz?

+5

Tek karakter dizesi ('w') ile bu dizenin ilk karakteri (' w [0] ') arasında fark yoktur. – jonrsharpe

+2

Sadece w w tercih edilir çünkü daha kısa ve daha okunabilir. –

+0

Teşekkürler @jonrsharpe –

cevap

3

w tek karakterli bir dizedir. Tek karakter dizisindeki ilk karakter sadece dizgeye eşit olur. İsterseniz w[0][0][0][0][0]... yapabilir ve yine aynı olacaktır. En kısa, en okunabilir sürümü kullanın: bu durumda sadece w.

+0

Merhaba @ tigerhawkt3, cevabınız için çok teşekkürler. Eğer bir sakıncası yoksa bir soru daha: “w [1]' ile denedim ve 'menzilden indeks dizisi' vardı. Niye ya ? –

+3

@AndyK Tek bir karakter dizesinin ikinci bir karakteri olmadığından? – jonrsharpe

+0

@jonrsharpe Şimdi daha iyi bir kavrayışım var. Alkışlar –