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

  • Keith Anthe

    Keith Anthe

    26 NİSAN 2011
  • kndx

    kndx

    11 Mart 2006
  • lane182videos

    lane182video

    6 EKİM 2011