TypeError: 'set' - Objekt unterstützt nicht die Indizierung
Hab ich gerade mache ein paar random Sachen in Python 3.5.
Und mit 15 Minuten Freizeit, die ich kam mit dieser:
a = {"a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m", "n", "o", "p", "q", "r", "s", "t", "u", "v", "w",
"x", "y", "z"}
len_a = len(a)
list = list(range(0, len_a))
message = ""
wordlist = [ch for ch in message]
len_wl = len(wordlist)
for x in list:
print (a[x])
Aber das befriedigende Gefühl der zufällige Erfolg lief nicht über mich.
Stattdessen das Gefühl, versagt zu haben:
Traceback (most recent call last):
File "/Users/spathen/PycharmProjects/soapy/soup.py", line 9, in <module>
print (a[x])
TypeError: 'set' object does not support indexing
Bitte helfen
Seite-Hinweis: nicht den Namen einer Variablen
Besser zu definieren
list
; von dem moment an, die Sie zuweisen, Sie haben Namen-schaukelnd list
Konstruktor. Für diese Angelegenheit, Sie können auch einfach Schleife über Ihre Werte direkt (for x in a: print(x)
); die Iteration von Indizes und Indexierung ist deutlich nicht-pythonic, nicht zu erwähnen, langsamer und weniger selbsterklärend ist.Besser zu definieren
a
über: import string
/ a = string.ascii_lowercase
InformationsquelleAutor Sakib Pathen | 2017-05-16
Du musst angemeldet sein, um einen Kommentar abzugeben.
Versuchen eckigen Klammern:
also: verwenden Sie eine
list
statt einerset
list
ist, und nicht ein "array".InformationsquelleAutor lostbard
Wie die Fehlermeldung sagt,
set
tatsächlich unterstützt nicht die Indizierung und diea
ist einset
, da Sie verwendet werden, set-Literale (in Klammern) anzugeben, deren Elemente (verfügbar seit Python 3.1). Jedoch, zu extrahieren Elemente aus einem set, können Sie einfach Durchlaufen, Sie:InformationsquelleAutor Andrzej Pronobis
versuchen, ändern Sie Ihren code wie dieser.
set nicht unterstützt Indizierung jedoch Liste unterstützen, damit ich hier konvertieren list und get index der Liste.
InformationsquelleAutor somil
@Sakib, Ihr set
a
ist bereits durchsuchbar. Bitte verwenden Sie diese aktualisierten code statt den Zugriff auf Elemente mittels index.Darüber hinaus Ihren code nicht genug Absicht für uns, Ihnen zu helfen, Ihre ultimative Ziel.
Beispiele:
range()
gibt auch einen wiederholenden geben, also gibt es keinen Grund zu konvertieren, um einlist
list
Schlüsselwort, und es tut so führen zu viele mehr Problemelen_wl
nicht einem Zweck dienen nochwordlist
nochmessage
einen Zweck haben, entwederHoffe, das hilft
PS - vergessen Sie nicht, wählen Sie eine Antwort aus
InformationsquelleAutor Chris