程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式師世界 >> 編程語言 >  >> 更多編程語言 >> Python

13 conseils Python pour le décollage!

編輯:Python

Cliquez en haut“PythonCrawler and Data Mining”,Faire attention

Réponse“Les livres”C'est gratuit.PythonDe l'entrée au niveau avancé10Ce livre électronique

Aujourd'hui

Jour

Poulets

Soupe

Il n'y a pas de stratégie à long terme,Retour à la Vieille Forêt.

La vie est courte.,Apprends vite.Python

Python Est l'un des langages de programmation largement utilisés aujourd'hui,En science des données、Calcul scientifique、Web Développement、Le développement de jeux et la construction d'interfaces graphiques de bureau ont des applications dans tous les domaines.Python .En raison de son utilité dans divers domaines、Avec Java、C Et C++ Et d'autres langages de programmation comme la productivité et des commandes similaires à l'anglais sont très populaires.

Si vous aussiPythonLes amateurs d'apprentissage,Alors ce qui a été dit aujourd'hui13Techniques,Ça sent bon.!

Liste

En relation avec la liste6Actions,La présentation est la suivante:;

1. Fusionner deux listes dans un dictionnaire

Supposons que nous soyonsPythonIl y a deux listes,Nous voulons les combiner dans un dictionnaire,Un des éléments de la liste sert de clé pour le Dictionnaire,L'autre comme valeur.Ça marche. Python Un problème très courant avec l'écriture de code.

Mais pour résoudre ce problème,,Nous devons réfléchir à quelques limites,Comme la taille de deux listes,Types d'articles dans les deux listes,Et s'il y a des doublons,Surtout les projets que nous utiliserons Comme une clé.On peut utiliser des trucs comme zip Une telle fonction intégrée pour surmonter ce problème.

keys_list = ['A', 'B', 'C']
values_list = ['blue', 'red', 'bold']
# Oui. 3 Il y a un moyen de convertir ces deux listes en Dictionnaire
# 1.UtiliserPython zip、dictFonctions
dict_method_1 = dict(zip(keys_list, values_list))
# 2. Utiliser un dictionnaire avec dérivation zip Fonctions
dict_method_2 = {key:value for key, value in zip(keys_list, values_list)}
# 3.RecyclagezipFonctions
items_tuples = zip(keys_list, values_list) 
dict_method_3 = {} 
for key, value in items_tuples: 
    if key in dict_method_3: 
        pass 
    else: 
        dict_method_3[key] = value
        
print(dict_method_1)
print(dict_method_2)
print(dict_method_3)

Les résultats sont les suivants::

2.Fusionner deux ou plusieurs listes en une seule liste

Quand on a deux listes ou plus,Nous voulons les rassembler tous dans une grande liste,Tous les premiers éléments d'une liste plus petite forment la première liste d'une liste plus grande.

Par exemple,Si j'avais 4 Liste (s) [1,2,3]['a','b','c']['h','e','y'], Et[4,5,6],Nous voulons créer une nouvelle liste pour ces quatre listes;Ce sera [[1,'a','h',4], [2,'b','e',5], [3,'c','y',6]] .

def merge(*args, missing_val = None):
    max_length = max([len(lst) for lst in args])
    outList = []
    for i in range(max_length):
        outList.append([args[k][i] if i < len(args[k]) else missing_val for k in range(len(args))])
    return outList
merge([1,2,3],['a','b','c'],['h','e','y'],[4,5,6])

Les résultats sont les suivants::

3. Trier la liste des dictionnaires

Le prochain groupe de tâches de la Liste quotidienne est la tâche de tri.Selon le type de données des éléments contenus dans la liste,Nous allons les trier un peu différemment.Commençons par trier la liste des dictionnaires.

dicts_lists = [
  {
    "Name": "James",
    "Age": 20,
  },
  {
     "Name": "May",
     "Age": 14,
  },
  {
    "Name": "Katy",
    "Age": 23,
  }
]
# Méthode 1
dicts_lists.sort(key=lambda item: item.get("Age"))
# Méthode 2
from operator import itemgetter
f = itemgetter('Name')
dicts_lists.sort(key=f)

Les résultats sont les suivants::

4. Trier la liste des chaînes

Nous sommes souvent confrontés à des listes contenant des chaînes,Il nous faut l'ordre alphabétique、La longueur ou tout autre facteur que nous voulons ou dont notre application a besoin pour trier ces listes.

Maintenant,Je dois mentionner que ce sont des méthodes directes pour trier les listes de chaînes,Mais parfois, vous devrez peut - être implémenter un algorithme de tri pour résoudre ce problème.

my_list = ["blue", "red", "green"]
# Méthode 1
my_list.sort() 
my_list = sorted(my_list, key=len) 
# Méthode 2
import locale
from functools import cmp_to_key
my_list = sorted(my_list, key=cmp_to_key(locale.strcoll))

Les résultats sont les suivants::

5. Trier la liste par une autre liste

Parfois,Nous pourrions vouloir/Une liste est nécessaire pour trier l'autre.Donc,,Nous aurons une liste de nombres(Index)Et une liste que je voudrais trier avec ces index.

a = ['blue', 'green', 'orange', 'purple', 'yellow']
b = [3, 2, 5, 4, 1]
sortedList =  [val for (_, val) in sorted(zip(b, a), key=lambda x: x[0])]
print(sortedList)

Les résultats sont les suivants::

6. Mapper la liste dans le Dictionnaire

Si vous donnez une liste et la cartographiez dans un dictionnaire.C'est - à - dire,Je voudrais convertir ma liste en dictionnaire avec des touches numériques,Que dois - je faire??

mylist = ['blue', 'orange', 'green']
#Map the list into a dict using the map, zip and dict functions
mapped_dict = dict(zip(itr, map(fn, itr)))

Dictionnaire

En rapport avec le Dictionnaire2Actions,La présentation est la suivante:;

7. Fusionner deux dictionnaires ou plus

Supposons que nous ayons deux dictionnaires ou plus,Et nous voulons tous les fusionner en un dictionnaire avec une clé unique.

from collections import defaultdict
def merge_dicts(*dicts):
    mdict = defaultdict(list)
    for dict in dicts:
    for key in dict:
        res[key].append(d[key])
    return dict(mdict)

8. Inverser le Dictionnaire

Une tâche de dictionnaire très courante est si nous avons un dictionnaire et que nous voulons inverser ses clés et ses valeurs.Donc,,La clé deviendra une valeur,Et la valeur devient la clé.

Quand on fait ça,On doit s'assurer que je n'ai pas de double clé,Les valeurs peuvent être répétées,Mais la clé ne peut pas,Et assurez - vous que toutes les nouvelles clés sont hachables.

my_dict = {
  "brand": "Ford",
  "model": "Mustang",
  "year": 1964
}
# Méthode 1
my_inverted_dict_1 = dict(map(reversed, my_dict.items()))
# Méthode 2
from collections import defaultdict
my_inverted_dict_2 = defaultdict(list)
{my_inverted_dict_2[v].append(k) for k, v in my_dict.items()}
print(my_inverted_dict_1)
print(my_inverted_dict_2)

Les résultats sont les suivants::

String

Lié à la chaîne3Actions,La présentation est la suivante:;

9. Utiliser f String

Formater une chaîne peut être la première tâche que vous devez accomplir presque tous les jours.In Python Il y a plusieurs façons de formater une chaîne;Mon préféré est d'utiliser f String.

str_val = 'books'
num_val = 15
print(f'{num_val} {str_val}') 
print(f'{num_val % 2 = }') 
print(f'{str_val!r}') 
price_val = 5.18362
print(f'{price_val:.2f}') 
from datetime import datetime;
date_val = datetime.utcnow()
print(f'{date_val=:%Y-%m-%d}')

Les résultats sont les suivants::

10. Vérifier les substrats

Une tâche très courante que j'ai dû accomplir plusieurs fois auparavant est,Vérifiez si la chaîne est dans la liste des chaînes.

addresses = ["123 Elm Street", "531 Oak Street", "678 Maple Street"]
street = "Elm Street"
# Méthode 1
for address in addresses:
    if address.find(street) >= 0:
        print(address)
        
# Méthode 2
for address in addresses:
    if street in address:
        print(address)

Les résultats sont les suivants::

11. Obtient la taille de la chaîne en octets

Parfois,Surtout lors de la construction d'applications essentielles à la mémoire,Nous devons savoir combien de mémoire notre chaîne utilise.Heureusement,Cela peut être fait rapidement avec une ligne de code.

str1 = "hello"
str2 = ""
def str_size(s):
    return len(s.encode('utf-8'))
print(str_size(str1))
print(str_size(str2))

Les résultats sont les suivants::

Entrée/Opérations de sortie

Et intrants/Opérations de sortie liées à2Actions,La présentation est la suivante:;

12. Vérifier si le fichier existe

Dans la science des données et de nombreuses autres applications,Nous avons souvent besoin de lire ou d'écrire des données à partir d'un fichier.Mais pour ce faire,,Nous devons vérifier si le fichier existe.Donc,,Notre code ne se termine pas par une erreur.

# Méthode 1
import os 
exists = os.path.isfile('/path/to/file')
# Méthode 2
from pathlib import Path
config = Path('/path/to/file') 
if config.is_file(): 
    pass

13.Analyser le tableur

Une autre interaction de fichiers très courante est l'analyse des données à partir d'un tableur.Heureusement,Nous avons CSV Module pour nous aider à accomplir cette tâche efficacement.

import csv
csv_mapping_list = []
with open("/path/to/data.csv") as my_data:
    csv_reader = csv.reader(my_data, delimiter=",")
    line_count = 0
    for line in csv_reader:
        if line_count == 0:
            header = line
        else:
            row_dict = {key: value for key, value in zip(header, line)}
            csv_mapping_list.append(row_dict)
        line_count += 1

Les gars,Pratiquez - le.!Si, dans le processus d'apprentissage,, J'ai rencontré quelque chose. PythonQuestions,Bienvenue à mes amis.,Je vais te tirer dedans.PythonLes groupes d'échange d'apprentissage explorent ensemble l'apprentissage.

------------------- End -------------------

Recommandé pour des articles passionnants dans des numéros précédents:

  • Comment faire une liste (Plus de trois, Les types de valeurs sont différents )Enregistrer soustxtDocumentation

  • Python Pendant le crawler , Lors de la construction d'une demande de réseau ,Paramètres`stream=True`Utilisation de

  • InventairePython Liste d'une fosse lors de la suppression

  • Les mains vous apprennent à utiliserPythonExtraire les informations de messagerie

Bienvenue à tous.- Oui.,Laissez un message,Avant,Réimpression,Merci à tous pour votre soutien

Je veux y adhérer.PythonGroupe d'étude Veuillez répondre en arrière - plan【EntréeGroupe

Des milliers d'eau et des milliers de montagnes sont toujours amoureux,Commande.【Je regarde】Je peux pas.


  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式師世界 All Rights Reserved