Je viens juste de faire des trucs aléatoires dans Python 3.5 . Et avec 15 minutes de temps libre, j’ai trouvé ceci:
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])
Mais cette sensation satisfaisante de succès au hasard ne m'a pas envahie… Au lieu de cela, le sentiment d'échec a:
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
S'il vous plaît aider
Essayez les crochets:
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"]
c'est-à-dire: utilisez une list
au lieu d'une set
Comme le message d'erreur le dit, set
ne prend effectivement pas en charge l'indexation et a
est une set
, car vous avez utilisé des littéraux de set (accolades) pour spécifier ses éléments (disponibles depuis Python 3.1). Cependant, pour extraire des éléments d'un ensemble, vous pouvez simplement les parcourir:
for i in a:
print(i)
essayez de modifier votre code comme ceci.
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"}
list_a = list(a)
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 list_a[x]
set ne supporte pas l'indexation, mais la liste le supporte, donc ici je convertis set en list et récupère l'index de la liste.
@Sakib, votre ensemble a
est déjà itérable. Veuillez envisager d'utiliser ce code mis à jour au lieu d'accéder aux éléments par index.
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"}
for x in a:
print ( x )
De plus, votre code ne montre pas assez d'intention pour que nous puissions vous aider à atteindre votre objectif ultime . Exemples:
range()
renvoie également un type itérable, il n'y a donc aucune raison de le convertir en list
list
. Cela entraînerait beaucoup plus de problèmes.len_wl
ne sert pas encorewordlist
ni message
n'ont de but soitJ'espère que cela t'aides
PS - n'oubliez pas de choisir une réponse