SORU
18 HAZİRAN 2013, Salı


Nedir [...] Python listede?

Etrafında python ile oynuyordum. BOŞTA aşağıdaki kodu kullandım

p  = [1, 2]
p[1:1] = [p]
print p

Çıktı

[1, [...], 2]

Bu ne [...]? İlginçtir şimdi liste kadar bir liste olarak kullanabilirim sonsuz yani

p[1][1][1]....

Yukarıda istediğim kadar yazabilirim ve hala çalışmaya devam eder.

DÜZENLEME:

  • Bellek nasıl temsil edilmektedir?
  • Onun ne faydası var? Faydalı olduğu bazı örnekler yararlı olacaktır.
  • Resmi belgelerine herhangi bir link gerçekten yararlı olacaktır.

CEVAP
18 HAZİRAN 2013, Salı


Bu kodu oluşturdu

enter image description here

İlk ve son elemanları orta eleman listesi, kendisi için burada gösteren iki sayı (1 ve 2) işaret ve bir liste.

Baskı dairesel yapıların etkinleştirildiğinde Common Lisp gibi bir nesne olarak basılmış olur

#1=#(1 #1# 2)

üç elemanlı bir vektör nesneyi (#1= 1 etiketli) var yani, ikinci nesnenin kendisi (geri-referanslı #1#).

Python yerine sadece yapısı [...] ile dairesel bilgileri alın.

Bu özel durum açıklamasında belirsiz (bir liste için geri işaret var ama bu onlardan biri olmalı, sadece tek bir liste var). Örneğin ancak belirsiz olabilir diğer durumlarda...

[1, [2, [...], 3]]

geriye iç referans listesi için dış ya da yapamaz. Bu iki farklı yapı aynı şekilde basılı oluşturulabilir

x = [1, [2, 3]]
x[1][1:1] = [x[1]]

y = [1, [2, 3]]
y[1][1:1] = [y]

print x, y

ve bellek gibi olurdu

enter image description here

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Dumb Stupid Videos

    Dumb Stupid

    26 Kasım 2013
  • gamingbits

    gamingbits

    2 Mayıs 2006
  • ShoSho

    ShoSho

    20 Ocak 2010