C'est la première fois que j'écris un article sur Python. Récemment, j'ai aimé une langue mineure appelée nim, mais comme c'est vraiment mineure, j'étudie Python en parallèle, et passe des jours à enseigner à mes amis "nim is good, George ...". .. Eh bien, l'histoire est fausse, mais cette fois, j'écrirai un article sur la façon de s'habituer à la notation d'inclusion de liste tout en résolvant divers problèmes avec la notation d'inclusion de liste en Python.
D'abord des bases
python
a=[0 for i in range(10)]
#[0,0,0,0,0,0,0,0,0,0]
Par exemple, la séquence d'égalité de l'intersection 1
python
a=[i for i in range(10)]
#[0,1,2,3,4,5,6,7,8,9]
Utilisation de la fonction f (x)
python
def f(x):
return x**2
a=[f(i) for i in range(10)]
#[0,1,4,9,16,25,36,49,64,81]
#Ou même comme ça
b=[i**2 for i in range(10)]
#[0,1,4,9,16,25,36,49,64,81]
Utilisons l'expression lambda
python
a=[(lambda price,tax:price + (price * tax))(100*i,0.08) for i in range(10)]
#[0.0,108.0,216.0,324.0,432.0,540.0,648.0,756.0,864.0,972.0]
Lors de l'utilisation uniquement si
python
a=[i for i in range(10) if i%2==0]
#[0,2,4,6,8]
Lors de l'utilisation de if-else
python
a=[x if x%2==1 else 0 for x in range(10)]
#[0,1,0,3,0,5,0,7,0,9]
100 pièces sont alignées d'affilée avec le recto vers le haut. Retournez le deuxième multiple de 2. Retourner le multiple de 3. Retourner le multiple de 4. Lorsque vous faites cela dans l'ordre, quel est le numéro de la pièce sur le devant?
python
#Le tableau est 1,Le dos est 0
#Pour le deuxième et au-dessus, la cote et la cote de quelques nombres déterminent s'il s'agit de l'avant ou de l'arrière.
#Par exemple, quand il est 2, il se retourne une seule fois ⇒"Si le nombre de fractions est pair, la pièce est de retour"
[print([k+1 for k,j in enumerate([0 if len([i for i in range(2,int(y/2)+1) if y%i==0])%2==0
else 1 for y in range(1,101)]) if j==1])]
#[4, 9, 16, 25, 36, 49, 64, 81, 100]
#J'ai remarqué quand j'ai essayé ça, mais x**La réponse est le nombre qui peut être représenté par 2....(x**Parce que la fraction x de 2 se chevauche)
#Une autre solution
import math
[print([i**2 for i in range(2,int(math.sqrt(100))+1)])]
#[4, 9, 16, 25, 36, 49, 64, 81, 100]
#Il semble que vous puissiez également importer la bibliothèque, je vais donc l'essayer
[print([i**2 for i in range(2,int([math.sqrt(100) for math in [__import__('math')]][0])+1)])]
#[4, 9, 16, 25, 36, 49, 64, 81, 100]
Non, je deviens fou
python
[print([j for j in range(1,1001) if sum([i for i in range(1,int(j/2)+1) if j%i==0])==j])]
#[6,28,496]
python
[print(sorted([int(rd.uniform(0,100)) for rd in [__import__('random')] for i in range(100)]))]
python
[print([i for i in range(2,1000) if 0 not in
[i%j for j in range(2,int([math.sqrt(i) for math in [__import__('math')]][0])+1)]])]
"""
[2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41, 43, 47, 53, 59, 61, 67, 71, 73, 79, 83, 89, 97, 101, 103, 107, 109,
113, 127, 131, 137, 139, 149, 151, 157, 163, 167, 173, 179, 181, 191, 193, 197, 199, 211, 223, 227, 229, 233, 239, 241,
251, 257, 263, 269, 271, 277, 281, 283, 293, 307, 311, 313, 317, 331, 337, 347, 349, 353, 359, 367, 373, 379, 383, 389,
397, 401, 409, 419, 421, 431, 433, 439, 443, 449, 457, 461, 463, 467, 479, 487, 491, 499, 503, 509, 521, 523, 541, 547,
557, 563, 569, 571, 577, 587, 593, 599, 601, 607, 613, 617, 619, 631, 641, 643, 647, 653, 659, 661, 673, 677, 683, 691,
701, 709, 719, 727, 733, 739, 743, 751, 757, 761, 769, 773, 787, 797, 809, 811, 821, 823, 827, 829, 839, 853, 857, 859,
863, 877, 881, 883, 887, 907, 911, 919, 929, 937, 941, 947, 953, 967, 971, 977, 983, 991, 997]
"""
Par exemple, "Il y a respectivement 40, 60, 30 balles de 500 yens, 100 yens et 10 yens. Combien de pièces chacune doit-elle être utilisée pour obtenir un total de 9 000 yens? Il peut être utilisé lorsqu'il y a un problème comme.
python
[ns
for ns in [dict()] if not(
ns.update({"A":40}) or
ns.update({"B":60}) or
ns.update({"C":30}) or
ns.update({"x":9000}) or
print([[a,b,c]
for a in range(A+1)
for b in range(B+1)
for c in range(C+1)
if 500*a+100*b+10*c==x]))]
#[[14, 19, 10], [14, 20, 0], [15, 14, 10], [15, 15, 0], [16, 9, 10], [16, 10, 0], [17, 4, 10], [17, 5, 0], [18, 0, 0]]
La partie "sinon" sur la deuxième ligne peut être "si". Comme le if de [i pour i dans range (10) if i% 2 == 0], s'il est vrai, ce sera un élément de la liste et il ne doit pas être faux, donc lors de l'impression de la liste entière, [{'A' : 40, 'B': 60, 'C': 30, 'x': 9000}] ou [].
En aparté (ou plutôt, comme mémorandum personnel), j'écrirai sur la liste ci-dessus ou fréquente. En python, la valeur booléenne ~~ de print () semble être False ~~ (la valeur de retour était None comme indiqué ci-dessous), par exemple, vous pouvez le faire.
python
if print(5)==True:
print("fxxk")
elif print(5)==None:
print("brain fxxk")
else:
print("brain")
#brain fxxk
De plus, en python, quand A est vrai, "A ou B" est évidemment vrai, donc B n'est pas évalué. (Idem pour "A et B" quand A est faux)
python
[print(5) or print(3) and print(4)]
#5
#3
#4 n'est pas imprimé
Je l'ajouterai quand je pourrai refaire quelque chose de nouveau. La notation d'inclusion de liste semble être complète Turing ...
Recommended Posts