Quelles sont les compétences Python très pratiques ?

WBOY
Libérer: 2023-05-12 17:34:19
avant
599 Les gens l'ont consulté

1. Unicité

La méthode suivante peut vérifier s'il y a des doublons dans une liste donnée, et vous pouvez utiliser l'attribut set() pour les supprimer de la liste.

x = [1,1,2,2,3,2,3,4,5,6]
y = [1,2,3,4,5]
len(x)== len(set(x)) # False
len(y)== len(set(y)) # True
Copier après la connexion

2. Anagrammes (mots avec les mêmes lettres dans un ordre différent)

Cette méthode peut être utilisée pour vérifier si deux chaînes sont des anagrammes.

from collections import Counter
>>> Counter('abadfsdafsdfjsdaf')
Counter({'a': 4, 'd': 4, 'f': 4, 's': 3, 'b': 1, 'j': 1})

def anagram(first, second):
    return Counter(first) == Counter(second)
anagram("abcd3", "3acdb") # True
Copier après la connexion

3. Mémoire

Cet extrait de code peut être utilisé pour vérifier l'utilisation de la mémoire d'un objet.

import sys 
variable = 30 
print(sys.getsizeof(variable)) # 28
Copier après la connexion

4. Taille d'octet

Cette méthode peut afficher la taille d'octet de la chaîne.

print(len(''.encode('utf-8')))# 0
print(len('hellow sdfsdaf'.encode('utf-8'))) # 14
Copier après la connexion

5. Imprimer une chaîne N fois

Cet extrait de code peut imprimer une chaîne plusieurs fois sans boucle.

n = 2; 
s ="Programming"; 
print(s * n); # ProgrammingProgramming
Copier après la connexion

6. Mettez la première lettre en majuscule

L'extrait de code suivant utilise uniquement title() pour mettre en majuscule la première lettre de chaque mot de la chaîne.

s = "programming is awesome"
print(s.title()) # Programming Is Awesome
Copier après la connexion

7. Segmentation de liste

Cette méthode subdivise la liste en listes de tailles spécifiques.

>>> list = list(range(12))
>>> size=3
>>> [list[i:i+size] for i in range(0,len(list), size)]
[[0, 1, 2], [3, 4, 5], [6, 7, 8], [9, 10, 11]]
>>>
Copier après la connexion

8. Compression

Le code suivant utilise filter() pour supprimer les valeurs d'erreur (False, None, 0 et " ") de la liste.

list(filter(bool, [0, 1, False, 2, '', 3, 'a', 's', 34]))
Copier après la connexion

9. Counting

Le code suivant peut être utilisé pour transposer la disposition du tableau 2D.

array = [['a', 'b'], ['c', 'd'], ['e', 'f']]
transposed = zip(*array)
print(transposed)  # [('a', 'c', 'e'), ('b', 'd', 'f')]
Copier après la connexion

10. Comparaison chaînée

Le code suivant effectue plusieurs comparaisons sur différents opérateurs.

a = 3
print( 2 < a < 8) # True
print(1 == a < 2) # False
Copier après la connexion

11. Comma Separated

Cet extrait convertit une liste de chaînes en une seule chaîne tout en séparant chaque élément de la liste par une virgule.

hobbies = ["basketball", "football", "swimming"]
print("My hobbies are: " + ", ".join(hobbies)) # My hobbies are: basketball, football, swimming
Copier après la connexion

12. Comptage des voyelles

Cette méthode compte le nombre de voyelles ("a", "e", "i", "o", "u") dans une chaîne.

import re
print(len(re.findall(r&#39;[aeiou]&#39;, &#39;foobar&#39;, re.IGNORECASE)))   # 3
print(len(re.findall(r&#39;[aeiou]&#39;, &#39;gym&#39;, re.IGNORECASE)))   # 0
Copier après la connexion

13. Première lettre minuscule

Cette méthode convertit la première lettre de la chaîne donnée en mode minuscule.

&#39;FooBar&#39;[:1].lower() + &#39;FooBar&#39;[1:] # &#39;fooBar&#39;
&#39;FooBar&#39;[:1].lower() + &#39;FooBar&#39;[1:]   # &#39;fooBar&#39;
Copier après la connexion

14. Développez la liste

Le code suivant utilise une méthode récursive pour développer une liste potentiellement longue.

def spread(arg):
    ret = []
    for i in arg:
        if isinstance(i, list):
            ret.extend(i)
    else:
        ret.append(i)
    return ret

def deep_flatten(lst):
    result = []
    result.extend(
        spread(list(map(lambda x: deep_flatten(x) if type(x) == list else x, lst))))
    return result
deep_flatten([1, [2], [[3], 4], 5])  # [1,2,3,4,5]
print(deep_flatten([1, [2], [[3], 4], 5]))  # [1,2,3,4,5]
Copier après la connexion

15. Trouver la différence

Cette méthode ne conserve la valeur que dans la première itération pour trouver la différence entre les deux itérations

set([1,2,3])-set([1,2,4]) # [3]
Copier après la connexion

16 Sortir la différence

La méthode suivante utilise les fonctions existantes pour rechercher et générer deux différences. entre les listes.

def difference_by(a, b, fn):
    b = set(map(fn, b))
    return [item for item in a if fn(item) not in b]
from math import floor
difference_by([2.1, 1.2], [2.3, 3.4],floor) # [1.2]
difference_by([{ &#39;x&#39;: 2 }, { &#39;x&#39;: 1 }], [{ &#39;x&#39;: 1 }], lambda v : v[&#39;x&#39;]) # [ { x: 2 } ]
Copier après la connexion

17. Appel de fonction en chaîne

La méthode suivante peut appeler plusieurs fonctions sur une seule ligne

def add(a, b):
    return a + b
def subtract(a, b):
    return a – b
a, b = 4, 5
print((subtract if a > b else add)(a, b)) # 9
Copier après la connexion

18.

Dans Python3.5 et les versions mises à niveau, le code d'étape peut également être exécuté de la manière suivante :

def merge_dictionaries(a, b):
    return {**a, **b}
a = { &#39;x&#39;: 1, &#39;y&#39;: 2}
b = { &#39;y&#39;: 3, &#39;z&#39;: 4}
print(merge_dictionaries(a, b)) # {&#39;y&#39;: 3, &#39;x&#39;: 1, &#39;z&#39;: 4}
Copier après la connexion

19. Convertir deux listes en polices

La méthode suivante peut convertir deux listes en polices.

keys = ["a", "b", "c"] 
values = [2, 3, 4]
print(dict(zip(keys, values))) # {&#39;a&#39;: 2, &#39;c&#39;: 4, &#39;b&#39;: 3}
Copier après la connexion

20. L'élément avec la fréquence d'apparition la plus élevée

Cette méthode affichera l'élément avec la fréquence d'apparition la plus élevée dans la liste.

def most_frequent(list):
    return max(set(list), key = list.count)
list = [1,2,1,2,3,2,1,4,2]
most_frequent(list)
Copier après la connexion

21. Palindrome (la même chaîne est lue en avant et en arrière)

Le code suivant vérifie si la chaîne donnée est un palindrome. Convertissez d'abord la chaîne en minuscules, puis supprimez-en les caractères non alphabétiques et enfin comparez la nouvelle version de la chaîne à la version originale.

def palindrome(string):
    from re import sub
    s = sub(&#39;[\W_]&#39;, &#39;&#39;, string.lower())
    return s == s[::-1]
palindrome(&#39;taco cat&#39;) # True
Copier après la connexion

22. Calculatrice sans instructions if-else

L'extrait de code suivant montre comment écrire une calculatrice simple sans instructions conditionnelles if-else.

import operator
action = {
 "+": operator.add,
 "-": operator.sub,
 "/": operator.truediv,
 "*": operator.mul,
 "**": pow
}
print(action[&#39;-&#39;](50, 25)) # 25
Copier après la connexion

23. Tri aléatoire

Cet algorithme utilise l'algorithme de Fisher-Yates pour trier aléatoirement les éléments de la nouvelle liste.

from copy import deepcopy
from random import randint

def shuffle(lst):
    temp_lst = deepcopy(lst)
    m = len(temp_lst)
    while (m):
        m -= 1
    i = randint(0, m)
    temp_lst[m], temp_lst[i] = temp_lst[i], temp_lst[m]
    return temp_lst

foo = [1, 2, 3]
shuffle(foo)  # [2,3,1] , foo = [1,2,3]
Copier après la connexion

24. Développez la liste

Cette méthode ne peut étendre que 2 niveaux de listes imbriquées, plus de 2 niveaux ne fonctionneront pas

def spread(arg):
    ret = []
    for i in arg:
        if isinstance(i, list):
            ret.extend(i)
        else:
            ret.append(i)
    return ret
spread([1, 2, 3, [4, 5, 6], [7], 8, 9])  # [1,2,3,4,5,6,7,8,9]
print(spread([1, 2, 3, [4, 5,[10,11,12,132,4,[1,2,3,4,5,6]], 6], [7], 8, 9]))  #[1, 2, 3, 4, 5, [10, 11, 12, 132, 4, [1, 2, 3, 4, 5, 6]], 6, 7, 8, 9]
Copier après la connexion

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:yisu.com
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
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!