Curieusement, à une question «débutante», vous pouvez toujours obtenir une variété de réponses. Le fait que je puisse taper ne signifie pas que je peux "python", j'aime vraiment la réponse de gnibbler sur les choses en désordre. Merci à tous pour vos réponses et - gardez les choses simples, un merci spécial à gnibbler.
hhh
2
Ce n'est pas une grande variété de réponses. C'est deux variétés. Une utilisation rangeet chr()une autre les listes toutes faites string, auxquelles beaucoup de gens ne penseraient pas.
Je crois que string.ascii_lowercase fonctionnait déjà en python 2.x, donc pour être sûr, utilisez toujours ascii_lowercase.
johk95
1
@ johk95, dépend en str.lowercasefait des paramètres régionaux, ce n'était donc pas le meilleur choix en premier lieu. Je l'ai remplacé dans ma réponse
John La Rooy
Salut, seriez-vous en mesure de me dire si cela est uniquement disponible en anglais? ne puis-je pas obtenir la même chose pour les autres langues? Merci et meilleures salutations
Michael Schroter
48
En supposant que ce soit un devoir ;-) - pas besoin d'invoquer des bibliothèques, etc. - il s'attend probablement à ce que vous utilisiez range () avec chr / ord, comme ceci:
for i in range(ord('a'), ord('n')+1):print chr(i),
Pour le reste, il suffit de jouer un peu plus avec la plage ()
Cette solution utilise la table ASCII . ordobtient la valeur ascii d'un caractère et chrvice versa.
Appliquez ce que vous savez sur les listes
>>> small_letters = map(chr, range(ord('a'), ord('z')+1))>>> an = small_letters[0:(ord('n')-ord('a')+1)]>>>print(" ".join(an))
a b c d e f g h i j k l m n>>>print(" ".join(small_letters[0::2]))
a c e g i k m o q s u w y>>> s = small_letters[0:(ord('n')-ord('a')+1):2]>>>print(" ".join(s))
a c e g i k m>>> urls =["hello.com/","hej.com/","hallo.com/"]>>>print([x + y for x, y in zip(urls, an)])['hello.com/a','hej.com/b','hallo.com/c']
Bienvenue dans StackOverflow. Essayez d'expliquer plus clairement pourquoi il s'agit d'une réponse complète à la question.
Jeroen Heier
Merci. J'aime la façon dont vous construisez cela.
hmacias le
2
#1)print" ".join(map(chr, range(ord('a'),ord('n')+1)))#2)print" ".join(map(chr, range(ord('a'),ord('n')+1,2)))#3)
urls =["hello.com/","hej.com/","hallo.com/"]
an = map(chr, range(ord('a'),ord('n')+1))print[ x + y for x,y in zip(urls, an)]
La réponse à cette question est simple, faites simplement une liste appelée ABC comme ceci:
ABC =['abcdefghijklmnopqrstuvwxyz']
Et chaque fois que vous avez besoin de vous y référer, faites simplement:
print ABC[0:9]#prints abcdefghijprint ABC #prints abcdefghijklmnopqrstuvwxyzfor x in range(0,25):if x %2==0:print ABC[x]#prints acegikmoqsuwy (all odd numbered letters)
Essayez également ceci pour casser votre appareil: D
##Try this and call it AlphabetSoup.py:
ABC =['abcdefghijklmnopqrstuvwxyz']try:whileTrue:for a in ABC:for b in ABC:for c in ABC:for d in ABC:for e in ABC:for f in ABC:print a, b, c, d, e, f,' ',exceptKeyboardInterrupt:pass
Ceci est votre deuxième question: string.lowercase[ord('a')-97:ord('n')-97:2]parce que 97==ord('a')- si vous voulez apprendre un peu, vous devriez trouver le reste vous-même ;-)
Zip -fonction, explication complète , retourne la a list of tuples, where the i-th tuple contains the i-th element from each of the argument sequences or iterables.[...]construction s'appelle la compréhension de liste , fonctionnalité très cool!
range
etchr()
une autre les listes toutes faitesstring
, auxquelles beaucoup de gens ne penseraient pas.Réponses:
Pour faire les URL, vous pouvez utiliser quelque chose comme ça
la source
str.lowercase
fait des paramètres régionaux, ce n'était donc pas le meilleur choix en premier lieu. Je l'ai remplacé dans ma réponseEn supposant que ce soit un devoir ;-) - pas besoin d'invoquer des bibliothèques, etc. - il s'attend probablement à ce que vous utilisiez range () avec chr / ord, comme ceci:
Pour le reste, il suffit de jouer un peu plus avec la plage ()
la source
Conseils:
et
et
la source
la source
Obtenez une liste avec les valeurs souhaitées
ou
Cette solution utilise la table ASCII .
ord
obtient la valeur ascii d'un caractère etchr
vice versa.Appliquez ce que vous savez sur les listes
la source
la source
tuple(string.ascii_lowercase)
et
la source
Production
la source
la source
La réponse à cette question est simple, faites simplement une liste appelée ABC comme ceci:
Et chaque fois que vous avez besoin de vous y référer, faites simplement:
Essayez également ceci pour casser votre appareil: D
la source
Essayer:
la source
Ceci est votre deuxième question:
string.lowercase[ord('a')-97:ord('n')-97:2]
parce que97==ord('a')
- si vous voulez apprendre un peu, vous devriez trouver le reste vous-même ;-)la source
J'espère que ça aide:
la source
À propos de la réponse de gnibbler.
Zip -fonction, explication complète , retourne la
a list of tuples, where the i-th tuple contains the i-th element from each of the argument sequences or iterables.
[...]
construction s'appelle la compréhension de liste , fonctionnalité très cool!la source
la source
Une autre façon de le faire
Résultat
En quoi cela diffère des autres réponses
enumerate
en conjonction avec la compréhension de liste et str.formatla source