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

  • Chip Johnson

    Chip Johnson

    30 AĞUSTOS 2007
  • FUNKER530 - Veteran Community & Combat Footage

    FUNKER530 -

    25 Ocak 2007
  • The Platform

    The Platform

    14 HAZİRAN 2006