J'ai une liste d'éléments de 1 à 100 dans la liste 1.
Requête 1:
Supposons que si je veux trouver 6 de 1 à 100, la nouvelle liste
devrait avoir - 6,16,26,36,46,56,60,61,62,63,64,65,66,67,68,69,76,86,96 .
Comment y parvenir?
Requête 2:
Le nombre spécifique peut être n'importe quoi de notre choix, comme si j'avais 4
alors la nouvelle liste devrait être - 4,14,24,34,40,41,42,43,44,45,46,47,48,49,54,64,74,84,94 code >.
Alors pouvons-nous avoir une logique générique pour les deux ou nous devons avoir une logique différente pour des nombres spécifiques?
MODIFIER
C'est ce que j'ai essayé jusqu'à présent,
z = [1,2,3,4,5,6,7,8,9,10]
for i in z:
if i == 6:
print(i)
Je n'ai pu l'obtenir que de 1 à 10 mais je n'ai pas pu l'obtenir pour 1 à 100.
4 Réponses :
Je l'ai maintenant compris:
[i for i in x if i % 10 == 6] # [6, 16] [i for i in x if i % 10 == 4] # [4, 14]
Est-ce seulement se termine par le numéro souhaité? Qu'en est-il de tous les chiffres des années 40 et 60?
oui maintenant je vois que ces numéros ne sont pas là .. je viens de valider avec jusqu'à 20 numéros ...
Si vous en avez besoin, essayez quelque chose comme [i for i in x if '4' in str (i)] (assurez-vous que votre n est également une chaîne)
[i pour i dans y si '4' dans str (i)] [4, 14, 24, 34, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 54, 64, 74 , 84, 94]
Voici le programme,
x = list(range(1, 101))
n = str(input("Enter a number: "))
output = [i for i in x if n in str(i)]
print (output)
Sortie:
Entrez un numéro:
4Sortie:
[4, 14, 24, 34, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 54, 64, 74, 84, 94] code >
où le numéro de votre choix n est 4.
Entrez un numéro:
6Sortie:
[6, 16, 26, 36, 46, 56, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 76, 86, 96] code >
où le numéro de votre choix n est 6.
x = liste (plage (1, 101))
range () peut être utilisée pour créer de longues listes. La fonction list () utilise ensuite les nombres de cette séquence pour créer une liste. J'espère que cela vous aidera!
Vous pouvez obtenir tous les nombres de votre plage en utilisant modulo (% ) et division entière ( // ):
[6, 16, 26, 36, 46, 56, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 76, 86, 96]
Le La partie modulu vous donnera toute valeur qui a un 6 dans vos "uns" - la division entière obtient toutes les valeurs qui ont un 6 à la place "dizaines":
x = range(1,101) b = [i for i in x if i % 10 == 6 or i // 10 == 6] print(b)
# For k = 0 k = 0 print([i for i in range(k,101,10)]) #Only for zero # For k > 0 and GENERIC k = 6 print([i for i in range(k,101,10)]) # doesn't include 60-69 #### Output #### #[6, 16, 26, 36, 46, 56, 66, 76, 86, 96] print([i for i in range(k,101,10)] + [i for i in range(k*10,(k+1)*10)]) # this includes all 6 poosible in the range 1-100 #### Output #### #[6, 16, 26, 36, 46, 56, 66, 76, 86, 96,60, 61, 62, 63, 64, 65, 66, 67, 68, 69] list_of_fours = [i for i in range(4,101,10)] + [i for i in range(4*10,(4+1)*10)] list_of_six = [i for i in range(6,101,10)] + [i for i in range(6*10,(6+1)*10)] print(list_of_fours+list_of_six) #if only concern is 4 and 6 #### Output #### # list_of_fours = [4, 14, 24, 34, 44, 54, 64, 74, 84, 94, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49] # list_of_fours = [6, 16, 26, 36, 46, 56, 66, 76, 86, 96, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69] #[4, 14, 24, 34, 44, 54, 64, 74, 84, 94, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 6, 16, 26, 36, 46, 56, 66, 76, 86, 96]
La question était mal définie - il cherchait des nombres contenant 4 ou 6 dans l'un ou l'autre chiffre. il vous manque 40-49 / 60-69 (pas mon vote négatif) - aussi: 1 question que vous présentez 3 réponses différentes ...
J'ai également modifié le code. Et je montre simplement les façons possibles de le faire et qui peuvent être utilisées en fonction des exigences spécifiques.
[i for i in arr if i% 10 == n]semble correspondre aux résultats souhaités. Mais qu'en est-il de tous les chiffres des années 60 ou 40? Ceux-ci contiennent également le numéro.Est-ce que
14devrait figurer dans les seconds résultats? Cela ne ressemble qu'àrange (x, 100, 10)oui 14 devrait être là .. je l'ai manqué pour ajouter
>>> z = [1,2,3,4,5,6,7,8,9,10] >>> pour i dans z: si i == 6: imprimer (i) 6 >>>