Maison > développement back-end > Tutoriel Python > Résumer quelques compétences en programmation Python

Résumer quelques compétences en programmation Python

伊谢尔伦
Libérer: 2017-06-28 13:17:14
original
1422 Les gens l'ont consulté

Cet article présente principalement quelques compétences de programmation pour les débutants en Python. Elles sont toutes basées sur quelques suggestions d'habitudes de programmation de base. Les amis dans le besoin peuvent se référer à

Exchange . Variable

x = 6
y = 5
 
x, y = y, x
 
print x
>>> 5
print y
>>> 6
Copier après la connexion

instruction if en ligne

print "Hello" if True else "World"
>>> Hello
Copier après la connexion

Concaténation

La dernière méthode ci-dessous est très intéressante pour relier 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
Copier après la connexion

Compétences numériques

#除后向下取整
print 5.0//2
>>> 2
# 2的5次方
print 2**5
>> 32
Copier après la connexion

Faites attention à la division des nombres à virgule flottante

print .3/.1
>>> 2.9999999999999996
print .3//.1
>>> 2.0
Copier après la connexion

Comparaison numérique

C'est l'un des rares multilinguesque j'ai vu une méthode aussi géniale et simple

x = 2
if 3 > x > 1:
 print x
>>> 2
if 1 < x > 0:
 print x
>>> 2
Copier après la connexion

Parcourir 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
Copier après la connexion

Parcourir des listes indexées

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

Compréhension de 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)
Copier après la connexion

convertit ce qui suit :

numbers = [1,2,3,4,5,6]
even = [number for number in numbers if number%2 == 0]
Copier après la connexion

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

Compréhensions de dictionnaires

Semblables aux compréhensions 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}
Copier après la connexion

Initialiser la liste Convertir la liste de valeurs

items = [0]*3
print items
>>> [0,0,0]
Copier après la connexion

en chaîne

teams = ["Packers", "49ers", "Ravens", "Patriots"]
print ", ".join(teams)
>>> &#39;Packers, 49ers, Ravens, Patriots&#39;
Copier après la connexion

à partir du dictionnaire Obtenir l'élément dans

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, si la valeur correspondante n'est pas trouvée, le deuxième paramètre sera être réglé sur 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
1
Copier après la connexion
Remplacez comme ceci :


data = {&#39;user&#39;: 1, &#39;name&#39;: &#39;Max&#39;, &#39;three&#39;: 4}
is_admin = data.get(&#39;admin&#39;, False)
Copier après la connexion

Obtenir un sous-ensemble d'une liste

Parfois, vous venez need Quelques éléments dans 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]
Copier après la connexion

60 caractères pour résoudre FizzBuzz

Il y a quelque temps, Jeff Atwood a fait la promotion d'un exercice de programmation simple appelé FizzBuzz, la question

citée Comme suit :

Écrivez un programme pour imprimer les nombres de 1 à 100. Les multiples de 3 impriment "Fizz" pour remplacer ce nombre. Les multiples de 5 impriment "Buzz". 5 Impression numérique "FizzBuzz".

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
Copier après la connexion

Collection

En plus de la fonctionnalité intégrée de Python

En plus des types de données, le module de collecte comprend également quelques cas d'utilisation particuliers Counter est très pratique 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})
Copier après la connexion

Outils d'itération

Comme la bibliothèque des collections, il existe également une bibliothèque appelée itertools, qui permet de résoudre efficacement certains problèmes. Un cas d'utilisation consiste à trouver toutes les combinaisons, ce qui vous indique toutes les combinaisons possibles 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;)
Copier après la connexion

False == True

This est une chose intéressante plutôt qu'une technique pratique, en python, True et False sont des variables globales, donc :


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!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal