Dictionnaire de chaîne de python et la base de l'ensemble de la collection

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
Publié 31 articles originaux · louange won 4 · Vues 3520

Je suppose que tu aimes

Origine blog.csdn.net/qq_29074261/article/details/80016686
conseillé
Classement