Maison  >  Article  >  développement back-end  >  Présentation des techniques aux débutants en Python

Présentation des techniques aux débutants en Python

巴扎黑
巴扎黑original
2017-04-05 13:25:541167parcourir

Voici quelques conseils et outils pratiques sur Python que j'ai collectés ces dernières années. J'espère qu'ils vous seront utiles.

Variables d'échange

x = 6
y = 5

x, y = y, x

print x
>>> 5
print y
>>> 6

 instruction if en ligne

print "Hello" if True else "World"
>>> Hello

Connecter

La dernière méthode ci-dessous est très intéressante pour lier deux objets de types différents.

nfc = ["Packers", "49ers"]
afc = ["Ravens", "Patriots"]
print nfc + afc
>>> ['Packers', '49ers', 'Ravens', 'Patriots']

print str(1) + " world"
>>> 1 world

print `1` + " world"
>>> 1 world

print 1, "world"
>>> 1 world
print nfc, 1
>>> ['Packers', '49ers'] 1

Compétences numériques

#除后向下取整
print 5.0//2
>>> 2
# 2的5次方
print 2**5
>> 32

Faites attention à la division des nombres à virgule flottante

print .3/.1
>>> 2.9999999999999996
print .3//.1
>>> 2.0

Comparaison numérique

C'est une méthode tellement simple que j'ai vue dans de nombreuses langues

x = 2
if 3 > x > 1:
   print x
>>> 2
if 1 < x > 0:
   print x
>>> 2

Itérer deux listes simultanément

nfc = ["Packers", "49ers"]
afc = ["Ravens", "Patriots"]
for teama, teamb in zip(nfc, afc):
     print teama + " vs. " + teamb
>>> Packers vs. Ravens
>>> 49ers vs. Patriots

Itération de liste indexée

teams = ["Packers", "49ers", "Ravens", "Patriots"]
for index, team in enumerate(teams):
    print index, team
>>> 0 Packers
>>> 1 49ers
>>> 2 Ravens
>>> 3 Patriots

Compréhension de la liste

Étant donné une liste, nous pouvons sélectionner la méthode de liste paire :

numbers = [1,2,3,4,5,6]
even = []
for number in numbers:
    if number%2 == 0:
        even.append(number)

Transformé en ce qui suit :

numbers = [1,2,3,4,5,6]
even = [number for number in numbers if number%2 == 0]

N'est-ce pas génial, haha.

Dérivation de dictionnaire

Semblable à la compréhension de listes, les dictionnaires peuvent faire le même travail :

teams = ["Packers", "49ers", "Ravens", "Patriots"]
print {key: value for value, key in enumerate(teams)}
>>> {&#39;49ers&#39;: 1, &#39;Ravens&#39;: 2, &#39;Patriots&#39;: 3, &#39;Packers&#39;: 0}

Valeur de la liste d'initialisation

items = [0]*3
print items
>>> [0,0,0]

Convertir la liste en chaîne

teams = ["Packers", "49ers", "Ravens", "Patriots"]
print ", ".join(teams)
>>> &#39;Packers, 49ers, Ravens, Patriots&#39;

Récupérer des éléments du dictionnaire

J'avoue que le code try/sauf n'est pas élégant, mais voici une méthode simple, essayez de trouver la clé dans le dictionnaire, et si la valeur correspondante n'est pas trouvée, utilisez le deuxième paramètre pour définir sa valeur variable.

data = {&#39;user&#39;: 1, &#39;name&#39;: &#39;Max&#39;, &#39;three&#39;: 4}
try:
   is_admin = data[&#39;admin&#39;]
except KeyError:
   is_admin = False
替换诚这样:
data = {&#39;user&#39;: 1, &#39;name&#39;: &#39;Max&#39;, &#39;three&#39;: 4}
is_admin = data.get(&#39;admin&#39;, False)

Obtenez un sous-ensemble de la liste

Parfois, vous n’avez besoin que d’une partie d’une liste. Voici quelques façons d’obtenir un sous-ensemble d’une liste.

x = [1,2,3,4,5,6]
#前3个
print x[:3]
>>> [1,2,3]
#中间4个
print x[1:5]
>>> [2,3,4,5]
#最后3个
print x[3:]
>>> [4,5,6]
#奇数项
print x[::2]
>>> [1,3,5]
#偶数项
print x[1::2]
>>> [2,4,6]

60 caractères pour résoudre FizzBuzz

Il y a quelque temps, Jeff Atwood a fait la promotion d'un simple exercice de programmation appelé FizzBuzz. La question est citée comme suit :

.

Écrivez un programme qui imprime les nombres de 1 à 100, en remplaçant le nombre par « Fizz » pour les multiples de 3, « Buzz » par les multiples de 5 et « FizzBuzz » pour les nombres qui sont tous deux des multiples de 3 et 5.

​ Voici une façon courte et intéressante de résoudre ce problème :

for x in range(101):print"fizz"[x%3*4::]+"buzz"[x%5*4::]or x

Rassembler

En plus des types de données intégrés à Python, le module de collecte comprend également des cas d'utilisation particuliers, très pratiques dans certaines situations. Si vous avez participé à la Facebook HackerCup de cette année, vous pourrez même découvrir son aspect pratique.

from collections import Counter
print Counter("hello")
>>> Counter({&#39;l&#39;: 2, &#39;h&#39;: 1, &#39;e&#39;: 1, &#39;o&#39;: 1})

Outils d'itération

Comme la bibliothèque collections, il existe également une bibliothèque appelée itertools, qui peut vraiment résoudre efficacement certains problèmes. Un cas d'utilisation consiste à trouver toutes les combinaisons, ce qui peut vous indiquer toutes les combinaisons impossibles d'éléments dans un groupe

from itertools import combinations
teams = ["Packers", "49ers", "Ravens", "Patriots"]
for game in combinations(teams, 2):
    print game
>>> (&#39;Packers&#39;, &#39;49ers&#39;)
>>> (&#39;Packers&#39;, &#39;Ravens&#39;)
>>> (&#39;Packers&#39;, &#39;Patriots&#39;)
>>> (&#39;49ers&#39;, &#39;Ravens&#39;)
>>> (&#39;49ers&#39;, &#39;Patriots&#39;)
>>> (&#39;Ravens&#39;, &#39;Patriots&#39;)

Faux == Vrai

C'est une chose très intéressante par rapport à la technologie pratique. En python, True et False sont des variables globales, donc :

False = True
if False:
   print "Hello"
else:
   print "World"
>>> Hello

Si vous avez des trucs ou astuces sympas, veuillez laisser un message ci-dessous Merci d'avoir lu.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Article précédent:Introduction à PythonArticle suivant:Introduction à Python