Gibt es einen Weg in Python für ein Objekt zu 'wissen', was seine Array-Element-ID ist? Ie 6 in einem Array, und das Objekt selbst druckt seine eigene Array Elementnummer aus, so '0,1,2,3,4,5'Python-Objekt Bewusstsein, in einem Array zu sein?
Antwort
No. Das Objekt könnte sich in allem und mehreren Objekten gleichzeitig befinden, so dass es es nicht wissen kann, wenn Sie es nicht sagen.
In einem Wort, no ...
Wenn das Objekt die Liste kennt, zu der es gehört, könnte es herausfinden, indem es tut. Ansonsten, nein.
Nur wenn keine früheren Objekte in der Liste mit dem betreffenden Objekt übereinstimmen. –
Nur um pedantisch: in der Regel keine ... aber technisch ist es möglich für einige (spezifische) Objekte, die Bestandteil einiger Arrays sind auf „ihre Position kennen“ ...
class HelpfulClass(object):
def __init__(self):
self.arr = []
def add(self, obj):
pos = len(self.arr) + 1
self.arr.append(obj)
obj.pos = pos
class SmartObj(object):
def __init__(self):
self.pos = None
def print_my_element(self):
print self.pos
if __name__ == '__main__':
s = HelpfulClass()
o = SmartObj()
s.add(o)
o.print_my_element()
... technisch ‚o‘ ist ein Ziel ... und Teil eines Arrays (s.arr) ... und „weiß“, seine Position ...
Nicht, wenn Sie es sagen, und sagen, es führt zu sehr lästigem Koppeln und/oder Trennen von Verantwortungsproblemen. Was sind Sie wirklich versuchen zu tun?
Nein, aber Sie können die Verwendung ‚aufzählen‘ builtin den Index iterieren und das Element zugleich:
>>> x = ['a','b','c']
>>> for index,element in enumerate(x):
... print index,element
...
0 a
1 b
2 c
- 1. Array zu einem anderen Array hinzufügen
- 2. Erwarten Sie, dass ein Array von Gleitkommazahlen nahe bei einem anderen Array in Jasmine sein
- 3. Array in C, und sein Zeiger
- 4. Array-Größe in new-Ausdruck muss konstant sein (dynamisches Array)
- 5. hinzufügen JavaScript-Array zu einem mehrdimensionalen Array
- 6. Split ein Array zu einem anderen Array
- 7. Gemeinsame zwei Array zu einem Array?
- 8. Konvertieren Array zu einem Objekt In PHP
- 9. Zugang zu einem bestimmten Array in PHP
- 10. Zu viele Elemente in einem Array! ..? Nein
- 11. zu einem in Python mehrdimensionales Array Anfügen
- 12. "push()" zu einem Array in Typescript
- 13. PUT zu einem Array in vorhandener Sammlung
- 14. zu einem mehrdimensionalen Array in PHP Hinzufügen
- 15. Wie zu einem Array in Javascript hinzufügen?
- 16. Parse JSON zu einem Array in Rails
- 17. Versuchen, Benutzerdaten in einem Array zu erhalten
- 18. Passing Array zu einem select_tag
- 19. ein Array zu einem ObservableCollection
- 20. kann kein Array zu einem anderen Array in Typoskript zuweisen
- 21. Hinzufügen eines Array-Elements zu einem Array in einer Struktur
- 22. Addieren Inhalt von Array zu einem anderen Array in PHP
- 23. CLLocationCoordinate2D ohne zu wissen, wie viele im Array sein werden?
- 24. Fehlgeschlagene Erwartung: "Erwartet [], um ein leeres Array zu sein."
- 25. Array in Array: Wie Array-Daten in einem Array
- 26. In welcher Situation würden in einem Array verschiedene Datentypen in Javascript nützlich sein?
- 27. Kombinieren aller Objekte in einem Array zu einem
- 28. Wie zu einem serialisierten Array hinzugefügt werden
- 29. Sollte es in einem Namespace sein?
- 30. Andere Möglichkeiten, Elemente zu einem Array hinzuzufügen
Betrachten Sie es auf diese Weise: Was passiert, wenn das Objekt mehr als ein Element von die Sequenz? –
Ich weiß nicht, welches Problem Sie versuchen zu lösen, aber versuchen Sie ['enumerate()'] (http://docs.python.org/library/functions.html#enumerate) –
Nein, weil kein Objekt in der Lage ist Dies würde nicht in [ein Array] passen (http://docs.python.org/library/array.html). Oder meinst du [Liste] (http://docs.python.org/library/stdtypes.html#sequence-types-str-unicode-list-tuple-bytearray-buffer-xrange). Die Antwort ist immer noch nein im Allgemeinen. – aaronasterling