A, chaîne à cordes
1. Split and Merge
1,1 str1.split (ch2, num)
Fonction: Chaîne de str2 prise comme la scission, num par défaut str1.count ()
Si après est prise, le reste plus pris une chaîne num, num donné.
str1 = "how are you , i am fine thank you"
#使用空格进行分割
list1 = str1.split(" ")
print(list1)
#结果
['how', 'are', 'you', ',', 'i', 'am', 'fine', 'thank', 'you']
1.2 str1.splitlines ([extrémités de premier ordre])
Fonction: chaîne en rangées ( « \ r », « \ r \ n », « \ n ») est divisé, retourne une liste d'éléments que chaque rangée, si la valeur du paramètre keepends False, sans saut de ligne, Si vrai, les sauts de ligne réservés.
str2 = '''how are
you ?
i am
fine
!
'''
list2 = str2.splitlines()
print(list2)
#结果
['how are', 'you ?', 'i am', 'fine', '!']
str2 = '''how are
you ?
i am
fine
!
'''
list2 = str2.splitlines(keepends=True)
print(list2)
#结果
['how are\n', 'you ?\n', 'i am\n', 'fine\n', '!\n']
1,3 str1.join (seq)
Fonction: une chaîne de caractères spécifié comme séparateur, tous les éléments suivants ont fusionné dans une nouvelle chaîne
list2 = ['you', 'are', 'very', 'great', '!']
str3 = ' '.join(list2)
print(str3)
#结果
you are very great !
str1 = "how are you , i am fine thank you"
str3 = "*".join(str1)
print(str3)
#结果
h*o*w* *a*r*e* *y*o*u* *,* *i* *a*m* *f*i*n*e* *t*h*a*n*k* *y*o*u
Remarque: Si la connexion est une chaîne, il utilisera pour chaque caractère de la chaîne de caractères connexion spécifiée.
2. Obtenez le caractère maximum et minimum
2,1 max (str)
Fonction: Renvoie la chaîne str dans les plus grandes lettres
str1 = "how are you , i am fine thank you"
print(max(str1))
#结果
y
2,2 min (str)
Fonction: Renvoie la chaîne lettre minimum str
str1 = "how are you , i am fine thank you"
print(min(str1))
#结果
‘ ’
Note: La comparaison est la valeur ASCII
3. chaîne alternative
3.1 remplacer (ancien, nouveau [, count])
Fonction: l'ancienne chaîne remplacer nouvelle, si non spécifié pour le compte, tout défaut Sinon, compter si le nombre spécifié précédent, puis après le remplacement
str1 = "how are you , i am fine thank you"
str2 = str1.replace("you" ,'me')
print(str2)
#结果
how are me , i am fine thank me
3.2 chaîne de remplacement de cartographie
Un paramètre: Caractère à convertir des paramètres II: le caractère cible
Dic = Strkmketrans (Oldstr, newstr)
str2.translate (CIVD)
str5 = "aaa bbb ccc deee"
dic = str5.maketrans("ac", "21")
# a--2 c--1
str7 = "how are you ,u ewe "
print(str7.translate(dic))
#结果
how 2re you ,u ewe
#注意:很少用
4. Analyser la fin du début de la chaîne
str.startsWith (ch1, start = 0, end = len (str))
Fonction: dans la plage donnée est déterminé si la chaîne de caractères commençant par une chaîne donnée, si non spécifié plage, toute la chaîne par défaut
str1 = "aaa bbb ccc deee"
print(str1.startswith("aa"))
#结果
True
str1 = "aaa bbb ccc deee"
print(str1.startswith("aa", 3, 9))
#结果
False
str.endswith (str, start = 0, end = len (str))
Fonction: dans la plage donnée est déterminé si les extrémités de chaîne avec la chaîne spécifiée, si la plage est pas spécifiée, la valeur par défaut est la chaîne entière
str1 = "aaa bbb ccc deee"
print(str1.endswith("e"))
#结果
True
str1 = "aaa bbb ccc deee"
print(str1.endswith("e", 3 ,9))
#结果
False
Le codage et le décodage
str.encode (encoding = » utf-8” , des erreurs = » scrict »)
Fonction: une chaîne de caractères codée, si non spécifié, la sélection par défaut codage UTF-8
str1 = "你好吗?"
data = str1.encode()
print(data)
print(type(data))
#结果
b'\xe4\xbd\xa0\xe5\xa5\xbd\xe5\x90\x97\xef\xbc\x9f'
<class 'bytes'>
str.decode (encoding = » utf-8” )
« Bonjour » .encode ( « utf-8 » ) .decode ()
Fonction: un décodage de caractères, sans spécifier le format d'encodage choisi par utf-8 par défaut
str1 = "你好吗?"
data = str1.encode()
print(data)
print(type(data))
data2 = data.decode()
print(data2)
print(type(data2))
#结果
b'\xe4\xbd\xa0\xe5\xa5\xbd\xe5\x90\x97\xef\xbc\x9f'
<class 'bytes'>
你好吗?
<class 'str'>
Note: Le décodage de format de codage pour être compatible avec les restes de codage
Expansion: erreurs = ignorer le temps, ignorer l'erreur
6. détermine si une lettre ou un chiffre
Strkislf ()
Fonction: pour déterminer au moins une chaîne de caractères, et tous les caractères sont des lettres, s'il est vrai revenir alors Vrai, sinon Faux
str8 = "hello ni hao "
print(str8.isalpha())
#结果
False
str9 = "hellonahao"
print(str9.isalpha())
#结果
True
str.isalnum ()
Fonction: pour déterminer une chaîne d'au moins un caractère, et tous les personnages sont des déclarations lettres ou chiffres Vrai et Faux sinon
str10 = "sc22xdcd"
print(str9.isalnum())
print(str10.isalpha())
#结果
True
False
7. Analyser le cas
str.isupper ()
Fonction: Si la chaîne contient au moins une des lettres de caractère et ces lettres sont en majuscule, puis retourner Vrai, sinon Faux
str10 = "AA2221 111"
print(str10.isupper())
#结果
True
str10 = "AAaaa"
print(str10.isupper())
#结果
False
str.islower ()
Fonction: Si la chaîne contient au moins un caractère de lettre, et que toutes les lettres sont minuscules, True est retournée, sinon retourne Faux
str10 = "aa2221 111"
print(str10.islower())
#结果
True
8. Analyse contiennent des caractères spéciaux
8,1 str.istitle ()
Fonction: Si une chaîne est le titre du rendement Vrai, sinon Faux
[Titre] majuscule la première lettre de chaque
str1 = "Hello World"
print(str1.istitle())
8,2 Strkisdigit ()
isdigit()
True: Unicode数字,byte数字(单字节),全角数字(双字节),罗马数字
False: 汉字数字
Error: 无
print("123".isdigit())
print("123a".isdigit())
#结果
True
False
idem
str.isnumeric ()
Fonction: Si la chaîne ne contient que des caractères numériques, il retourne vrai, sinon Faux
isnumeric() True: Unicode数字,全角数字(双字节),罗马数字,汉字数字 False: 无 Error: byte数字(单字节)
8.3 str.isdecimal ()
Fonction: Vérifiez si la chaîne ne contient que le caractère décimal, si elle retourne Vrai, sinon Faux
isdecimal() True: Unicode数字,,全角数字(双字节) False: 罗马数字,汉字数字 Error: byte数字(单字节)
print("123".isdecimal())
print("123z".isdecimal())
#结果
True
False
num = "1" #unicode
num.isdigit() # True
num.isdecimal() # True
num.isnumeric() # True
num = "1" # 全角
num.isdigit() # True
num.isdecimal() # True
num.isnumeric() # True
num = b"1" # byte
num.isdigit() # True
num.isdecimal() # AttributeError 'bytes' object has no attribute 'isdecimal'
num.isnumeric() # AttributeError 'bytes' object has no attribute 'isnumeric'
num = "IV" # 罗马数字
num.isdigit() # True
num.isdecimal() # False
num.isnumeric() # True
num = "四" # 汉字
num.isdigit() # False
num.isdecimal() # False
num.isnumeric() # True
8,4 str.isspace ()
Fonction: Si la chaîne contient uniquement des espaces, retourne Vrai, sinon Faux
print(" ".isspace())
print("\t".isspace())
print("\n".isspace())
print("\r".isspace())
print(" qq".isspace())
#结果
True
True
True
True
False
conversion de code 9.ASCII
9.1 mots (str)
Fonction: Get chaîne représente un nombre entier de valeur ASCII
print(ord("A"))
print(ord("你"))
#结果
65
20320
9,2 chr (str)
Convertis en caractères codés correspondant
print(chr(68))
print(chr(20190))
#结果
D
仞
Deux, dict dictionnaire
1. Vue d'ensemble
dict est également un stockage, et la liste des tuple similaires, cependant, en utilisant la clé de dictionnaire - valeur (valeur de clé) stockée sous la forme
Avantages: vitesse de recherche rapide
caractéristiques 2.key
1. La clé doit être unique dans le dictionnaire
2.key doit être des objets immuables
Par exemple: string, integer, etc. sont immuables, comme la clé
la liste est variable, et non comme une clé
Penser: Enregistrement d'une classe dans les chaussures de résultats
Pensée 1: liste ou tuple, mais ne se produit pas facilement sur le trouble No.
Idées 2: Utilisez la liste à deux dimensions ou tuple, mais sera plus lent
3 idées: le dictionnaire peut être utilisé, le nombre d'élèves ou nom de l'école comme une clé, le score de la valeur pour le stockage, facile à trouver
3. Créer un dictionnaire
syntaxe:
Dictionnaire nom key = {1: 1 valeur, la clé 2: valeur de 2, ...}
dist1 = {'tom':90,'lili':78, 'lele':92}
print(dist1)
4. Opération Dictionnaire
4.1 élément Accès
Syntaxe: element name = dictionnaire [key]
dist1 = {'tom':90,'lili':78, 'lele':92}
print(dist1['tom'])
Remarque: Dans le cas de la clé n'existe pas, se plaindra
Syntaxe: element = dictionnaire .get (key)
Fonction: en utilisant la méthode get pour obtenir la valeur, si la clé est présente, la valeur de la valeur est renvoyée si la clé n'existe pas est retourné Aucun
dist1 = {'tom':90,'lili':78, 'lele':92}
value = dist1.get('tom')
print(value)
4.2 Éléments Ajout
Syntaxe: nom Dictionnaire [touche] = valeur
dist1 = {'tom':90,'lili':78, 'lele':92}
dist1['lisi'] = 89
print(dist1)
Remarque: une touche correspond à une seule valeur, plusieurs fois la valeur d'une mission avec les principales valeurs qui précède sera remplacé plus tard.
4.3 Suppression des éléments
Syntaxe: nom Dictionnaire .pop (key)
dist1 = {'tom':90,'lili':78, 'lele':92}
dist1.pop('tom')
print(dist1)
5. traversal dictionnaire
5.1 pour une itération de boucle
syntaxe:
obtenir une clé
pour clé dans dist:
impression (clé)
Obtenez la valeur
pour la valeur de dist.values ():
impression (valeur)
En même temps, obtenir les clés et les valeurs
pour k, v dans dist.items ():
impression (k, v)
Note: Les dictionnaires sont UNORDERED, stockées dans la mémoire est désordonnée et ne peuvent donc pas être obtenus par la valeur de l'indice
dist1 = {'tom':90,'lili':78, 'lele':92}
#获取字典的key
for key in dist1:
print(key)
#获取字典中的value
for value in dist1.values():
print(value)
#同时获取字典中的key与value
for k, v in dist1.items():
print(k, v)
6. La différence avec la liste des
1.dist trouver et insérer la vitesse rapide, il ne sera pas augmenter la valeur de la clé devient lente, mais quand on regarde une liste par un à partir en arrière à gratter à travers les éléments, et lorsque la quantité de données augmente, la vitesse aussi comme ce sera lent
2.dist prendre beaucoup de mémoire, de la mémoire et plus de déchets, mais la liste ne soit l'équivalent de stocker une clé de dictionnaire ou d'une partie de la valeur, et les données rapprochées.
Trois, collection ensemble
1. Vue d'ensemble
dist ensemble similaire et l'ensemble est un ensemble de clé, mais avec la différence que l'ensemble ne sont pas stockées valeur dist
Essence: ensemble non ordonné d'éléments et pas de répétition
création de 2.Réglez
syntaxe:
set1 = set ([1, 2, 3, 4, 5])
Remarque: Créer un tuple besoin liste ou un ensemble dist ou comme un élément de l'ensemble d'entrée, les filtres seront automatiquement en double dans l'ensemble
s1 = set([1, 2, 3, 4, 5])
print(s1)
opération 3.Réglez
3,1 set.add ()
Remarque:
1. Vous pouvez ajouter des éléments en double, mais il n'y aura pas d'effet
éléments 2.Ajouter ne peuvent pas être une liste ou un dictionnaire, car ils sont variables
s1 = set([1, 2, 3, 4, 5])
s1.add(6)
s1.add((2, 3, 4))
print(s1)
#结果
{1, 2, 3, 4, 5, 6, (2, 3, 4)}
3,2 set.update ()
Fonction: insérer la liste, tuple, brisant la chaîne insérée
Remarque: Vous ne pouvez pas directement numérique
s1 = set([1, 2, 3, 4, 5])
s1.update([4,"anam","hha"])
s1.update("hello")
print(s1)
#结果
{1, 2, 3, 4, 5, 'anam', 'l', 'o', 'h', 'e', 'hha'}
3,3 set.remove (élément)
Fonction: Suppression d'éléments
s1 = set([1, 2, 3, 4, 5])
s1.remove(3)
print(s1)
3.4 élément de déplacement
syntaxe:
pour i dans la série:
imprimer (i)
Note: ensemble est non ordonnée, et ne peut donc pas être acquis par l'élément indice
pour l'index, les données dans enumerateQ (set):
print (index, données)
De cette manière, d'ajouter un suffixe de force
s1 = set([1, 2, 3, 4, 5])
for i in s1:
print(i)
for index,data in enumerate(s1):
print(index, data)
3,5 intersection et union
syntaxe:
= Intersection plus récent set1 & set2
Union récente = set1 | set2
s1 = set([1, 2, 3, 4, 5])
s2 = set([4, 5, 6, 7])
s3 = s1 & s2
s4 = s1 | s2
print(s3)
print(s4)
#结果
{4, 5}
{1, 2, 3, 4, 5, 6, 7}
En quatrième lieu, la conversion de type
L'outil principal pour beaucoup de stockage: liste, tuple, dict, ensemble
Particularités: dict est utilisé pour stocker des paires valeur clé
4.1 Liste convertie dans le jeu
l1 = [1, 2, 4, 5]
s1 = set(l1)
print(type(s1))
print(s1)
4,2 tuple converti en série
t1 = (1, 2, 3, 4)
s1 = set(t1)
print(type(s1))
print(s1)
4.3 ensemble est converti à la liste
s1 = set([1, 2, 3, 4])
l1 = list(s1)
print(type(l1))
print(l1)
4.4 ensemble est converti en tuple
s1 = set([1, 2, 3, 4])
t1 = tuple(s1)
print(type(t1))
print(t1)
Cinquièmement, le iterator
Liste des formule
syntaxe:
list = [résultat de x dans la plage (m, n)]
La demande: Création d'un [1, 2, ... 100] Liste
>>> range(1, 101)
[1, 2, 3, 4, 5,...,100]
Exigence 2: Générer un [1x1, 2x2, 3x3, ... .100x100] liste
>>> list1 = []
>>> for x in range(1, 101)
list1.append(x*x)
>>> list1
[1, 4, 9,....10000]
#使用列表生成式,可以这么来写
>>> list2 = [x*x for x in range(1, 101)]
Nature: Obligatoire pour la boucle est à la ligne de déchargement, et le résultat est écrit dans l'avant d'entrée, le résultat de l'utilisation des guillemets []
5.1 iterables
1. peut directement agir directement sur l'objet pour la circulation désignés collectivement comme iterables, nous appelons: iterator
2. Nous pouvons utiliser isintance () pour déterminer si un objet est un objet Iterator
3. La boucle peut agir directement sur le type de données sont les suivantes:
un ensemble de types de données: Comme liste, tuple, dict, ensemble et chaîne
b générateur (générateur) :. itérateur de retour est une fonction, en effet, est la définition d'un algorithme itératif, il peut être comprise comme un itérateur spécial.
constructeur:
Liste par la formule, nous pouvons créer directement une liste, mais, sous réserve des limitations de mémoire, la liste est certainement une capacité limitée, si nous avons seulement besoin d'accéder aux premiers éléments, si l'élément de liste peut être calculé selon un algorithme sur, que si nous pouvons au cours du cycle de calcul en permanence les éléments suivants? Ceci élimine la nécessité de créer une liste complète, économisant ainsi beaucoup d'espace. En Python, tandis que le mécanisme de circulation pour ce calcul, connu comme un générateur (générateur)
#要创建一个generator,有很多种方法。第一种方法很简单,只要把一个列表生成式的[]改成(),就创建了一个generator
>>> g = (x for x in range(1, 101))
>>> g
<generator object <genexpr> at 0x10124df68>
>>> g.__next__()
1
>>> [x for x in g]
[2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100]
REMARQUE: Lorsque vous utilisez Iterator packages déterminer le besoin d'importer Iterable
from collections import Iterable
print(isinstance([],Iterable))
print(isinstance((),Iterable))
print(isinstance({},Iterable))
print(isinstance("",Iterable))
print(isinstance((x for x in range(10)),Iterable))
print(isinstance(1,Iterable))
#结果
True
True
True
True
True
False
5.2 iterator
Iterator: non seulement peut agir sur une boucle, vous pouvez être fonction suivante () continue d'appeler et retourne la valeur suivante, jusqu'à ce que la dernière erreur de StopIteration, a déclaré qu'il ne pouvait pas retourner la valeur suivante
Peut être le prochain retour de la fonction () le prochain appel et continuent d'être un sujet digne iterator (objets Iterator)
Vous pouvez utiliser la fonction isinstance () pour déterminer si un objet est un objet iterator
print(isinstance([],Iterator))
print(isinstance((),Iterator))
print(isinstance({},Iterator))
print(isinstance("",Iterator))
# 只有这个是迭代器
print(isinstance((x for x in range(10)),Iterator))
#结果
False
False
False
False
True
5.3 conversion Iterator
Liste des fonctions Iter (), tuple, dict, objets de convertir la chaîne Iterator
>>> a = iter([1, 2, 3, 4, 5])
>>> print(next(a))
1
print(isinstance(iter([]), Iterator))
print(isinstance(iter(()), Iterator))
print(isinstance(iter({}), Iterator))
print(isinstance(iter(''), Iterator))
#结果
True
True
True
True