[Python Basics] Sept types de données en Python

premier

Les types de données en Python incluent principalement : Number(数字), Boolean(布尔), String(字符串), List(列表), Tuple(元组), Dictionary(字典), Set(集合).

Il est ensuite divisé en types de données variables et en types de données immuables. Les types de données variables font référence aux 可以随着函数的执行发生变化,而不可变数据类型不可以改变
types de données immuables (3) : Number(数字), Boolean(布尔), , String(字符串)et Tuple(元组)
aux types de données variables (4) : , List(列表),Dictionary(字典)Set(集合)

Q : Comment déterminer le type d'une variable ?
Réponse : 1. Vous pouvez utiliser la méthode type (nom de variable) pour renvoyer le type de données de la variable ; 2. isinstance (nom de variable, type de données) ne peut renvoyer que Vrai ou Faux

1. Type de numéro (Numéro)

Il existe 3 types de données en Python3 : int (entier), float (virgule flottante), complex (nombre complexe).
Le type entier de Python 3 n'a pas de limite de taille et peut être utilisé comme type Long, et bool est un sous-type du type entier.

# 整型int,浮点型float
a=2
b=2.6
print(a,b,type(a),type(b),isinstance(a,int))
# 输出结果为
# 2 2.6 <class 'int'> <class 'float'> True

Deux, type booléen (booléen)

Le type booléen est un type de données lié à la logique, et n'a que deux valeurs Vrai et Faux. (Remarque : des valeurs booléennes peuvent être ajoutées et le type sera converti en type int après l'ajout)

# 2.布尔型Boolean
c=True
d=False
d=c+d
print(type(c),type(d),d)
# 输出结果
# <class 'bool'> <class 'int'> 1

3. Type de chaîne (chaîne)

Dans la définition de la variable Python, la valeur entourée de guillemets simples et de guillemets doubles est le type de chaîne str.

3.1 Index des chaînes

insérez la description de l'image ici
L'indice positif a[i] de la chaîne commence à 0 pour représenter le premier caractère, et l'indice négatif a[-1] commence à -1 pour représenter le caractère à la fin de la chaîne.

3.2 Interception, épissage et multiplexage de chaînes

a = b[begin, end, step], begin signifie la position de départ, la valeur par défaut est 0, end signifie la position de fin, la valeur par défaut est une longueur variable, step signifie la taille du pas, la valeur par défaut est 1. Par exemple : a【i,j】, signifie de la position i à la position j, où la chaîne de caractères interceptée n'inclut pas la position j.
Remarque : L'utilisation d'un index négatif dans une tranche ne signifie pas une récupération de bout en bout, l'index limite simplement la plage de récupération des données.
步长Il sert à déterminer l'ordre de lecture. Si la taille du pas est un nombre négatif, il est lu de la fin au début, et s'il s'agit d'un nombre positif, il est lu du début à la fin.

str1 = "hello,world!"
print(str1[::])
print(str1[2:5])
print(str1[2,6,2])
print(str1[-1:-4])
print(str1[-5:-2])
print(str1[-1:-5:-1])

# 输出结果
hello,world!
llo
lo
空
orl
!dlr
a = "我是王菜鸟"
b = ",你呢"
print(a[0],a[-1],a[:3],a[1,-1],a+b,a*2)

# 输出结果
我 鸟 我是王 是王菜 我是王菜鸟,你呢 我是王菜鸟我是王菜鸟

Quatrièmement, le type de liste (Liste)

Une liste est un type de données fréquemment utilisé et ses éléments peuvent être des objets personnalisés tels que des chaînes, des nombres, des listes et des tuples. La liste est définie par [], une collection séparée par des virgules anglaises, et les éléments peuvent être répétés.

Les opérations de la liste contiennent généralement 索引, 切片, in和not in, len, 操作符+和*, 添加/删除/查询元素, , 排序和反转. L'indexation et le découpage des listes sont cohérents avec les chaînes, nous ne les répéterons donc pas ici.将元组、字符串等序列转换成列表(不会修改原有的序列)

Ensuite, certaines opérations de la liste seront introduites :

4,1 pouces和pas dans

Détermine si une valeur existe dans la liste, si elle existe, renvoie True, sinon renvoie False (note : existence signifie la même chose qu'un élément de la liste).

store = [[65, 33], '女', 'wang', 24, 2.3]
print("wang" in store)
print("33" in store)
print("女" not in store)

# 输出结果
True
False
False

4.2 len()

La méthode len() renvoie le nombre d'éléments de la liste

store = [[65, 33], '女', 'wang', 24, 2.3]
print(len(store))

# 输出结果
5

4.3 Ajouter/supprimer/interroger des éléments

Ajouter/supprimer/interroger des éléments
fonctionner méthode décrire
ajouter un élément ajouter (obj) Ajouter un élément à la liste, c'est-à-dire ajouter un élément spécifié à la fin de la liste
étendre (itérable) Ajouter plusieurs éléments à la liste, c'est-à-dire ajouter plusieurs éléments à la fin de la liste, iterable est une séquence, indiquant la séquence d'éléments à ajouter
insérer(index, obj) Insérer un élément à la position spécifiée dans la liste (les éléments à et après la position spécifiée sont déplacés vers l'arrière d'un indice)
supprimer un élément pop(indice) Supprimer et renvoyer l'élément à l'index spécifié dans la liste, l'index par défaut est -1, qui est le dernier élément
supprimer (élément) Supprime le premier élément qui correspond à la valeur spécifiée (ne renvoie pas les valeurs associées)
du supprimer des éléments de la liste ou la liste entière
clair() Supprimer tous les éléments de la liste, c'est-à-dire qu'après un succès, la liste est une liste vide
élément de requête index(valeur, début=Aucun, arrêt=Aucun) Trouver la position d'index de la première correspondance avec la valeur spécifiée dans la plage spécifiée dans la liste (démarrer et arrêter ne peuvent pas transmettre de paramètres basés sur des mots-clés)
compter (obj) Compter le nombre de fois qu'un élément apparaît dans une liste

ajouter un élément

# append
store = [[65, 33], '女', 'wang', 24, 2.3]
store.append("王菜鸟")
print(store)
store.append([66, 68])
print(store)

# extend
store.extend(["Kevin",168])
print(store)

# insert
store.insert(2,999)
print(store)


# 输出结果
[[65, 33], '女', 'wang', 24, 2.3, '王菜鸟']
[[65, 33], '女', 'wang', 24, 2.3, '王菜鸟', [66, 68]]
[[65, 33], '女', 'wang', 24, 2.3, '王菜鸟', [66, 68], 'Kevin', 168]
[[65, 33], '女', 999, 'wang', 24, 2.3, '王菜鸟', [66, 68], 'Kevin', 168]

supprimer un élément

print(store.pop(2))
store.remove('Kevin')
print(store)
store.clear()
print(store)

# 输出结果
999
[]
[]

élément de requête

store = [[65, 33], '女', 'wang', 24, 2.324]
print(store.index('女'))
print(store.count(24))

# 输出结果
1
2

4.4 trier (sort) et inverser (reverse)

trier (trier) :

Format : list.sort(key=None, reverse=False)
key - spécifie une fonction avec un paramètre et renvoie un objet, qui est utilisé pour extraire le contenu à comparer des éléments de la liste. sort(
) trie par ordre croissant ordre par défaut, c'est-à-dire reverse=False, décroissant reverse=True

list1 = [22, 11, 25, 98, 72, 68, 49]
list1.sort()
print(list1)
list1.sort(reverse=True)
print(list1)

# 输出结果
[11, 22, 25, 49, 68, 72, 98]
[98, 72, 68, 49, 25, 22, 11]

注意:sort中key参数的用法

# 按照总分成绩降序排名
list1 = [[97, 54, 93], [59, 78, 83], [44, 64, 97], [83, 79, 73]]
def sum_scores(scores):
    return scores[0] + scores[1] + scores[2]
    
list1.sort(key=sum_scores, reverse=True)
print(list1)

# 输出结果

Reverse (reverse)
reverse : règles de tri, reverse = Vrai ordre décroissant, reverse = Faux ordre croissant (par défaut).

list1 = [22, 11, 25, 98, 72, 68, 49]
list1.reverse()
print(list1)

# 输出结果
[49, 68, 72, 98, 25, 11, 22]

4.5 liste()

Convertissez des séquences telles que des tuples et des chaînes en listes (la séquence d'origine ne sera pas modifiée).

# 元组
tup = (22, 86, 26, 35)
print(list(tup))
print(tup)

# 字符串
str1 = "Happy New Year"
print(list(str1))
print(str1)

# 输出结果
[22, 86, 26, 35]
(22, 86, 26, 35)

['H', 'a', 'p', 'p', 'y', ' ', 'N', 'e', 'w', ' ', 'Y', 'e', 'a', 'r']
Happy New Year

Cinq, ensemble (Ensemble)

Set Set est une séquence non ordonnée et non répétable, utilisez {}ou set()fonction pour créer, si vous voulez créer un ensemble vide, vous devez utiliser set(), { } est utilisé pour créer un dictionnaire vide .
Remarque : les ensembles ne stockent que des types de données immuables, tels que des nombres, des chaînes, des tuples, etc., mais ne peuvent pas stocker des types de données variables tels que des listes, des dictionnaires et des ensembles.

set1 = set({
    
    "Kevin", "Lucy", "Toke", 24})
print(set1)

set2 = set("wang")
print(set2)

set3 = set({
    
    22, 33})
print(set3)

# 输出结果
{
    
    'Toke', 24, 'Lucy', 'Kevin'}
{
    
    'w', 'g', 'n', 'a'}
{
    
    33, 22}

6. Type de dictionnaire (Dictionnaire)

Les dictionnaires stockent les objets dans des paires clé-valeur (clé : valeur).
1. La clé (clé) doit être unique dans le dictionnaire et la clé est un type de données immuable, tel qu'une chaîne, un nombre et un tuple. Si la clé est affectée de plusieurs valeurs au moment de la création, la dernière valeur est stockée.
2. La valeur (value) peut être n'importe quel objet, tel que None, une valeur numérique, une chaîne, un dictionnaire, etc.

dict1 = dict()
print(len(dict1), type(dict1))

dict2 = {
    
    }
print(len(dict2), type(dict2))

# 如果创建时键被赋值多次,最后一个值才被存储
dict3 = {
    
    "a": "Kevin", "b": "Lucy", "a": "Toke"}
print(dict3)

# 输出结果
0 <class 'dict'>
0 <class 'dict'>
{
    
    'a': 'Toke', 'b': 'Lucy'}

7. Autres

7.1 Copie profonde et copie superficielle

Python fournit des méthodes de copie approfondie et de copie superficielle pour les types de données tels que les listes, les ensembles et les dictionnaires.
Copie superficielle : copiez l'adresse des données, la méthode copy() ajoute simplement un pointeur vers l'objet et n'alloue pas de nouvel espace pour stocker les données ; copie profonde : allouez un nouvel espace pour stocker les données, les données d'origine et les données
après la copie en profondeur n'affecte pas

fonction décrire
itérable.copie() Renvoie une copie superficielle des données itérables de l'objet itérable
copy.deepcopy (itérable) Renvoie les données de copie profonde de l'objet itérable iterable

Si vous le comprenez d'un point de vue relativement simple, la copie superficielle et la copie profonde sont la différence entre les objets imbriqués. Pour la modification de l'objet imbriqué des données d'origine, l'objet imbriqué correspondant à la copie superficielle sera affecté de manière synchrone, et la copie profonde ne sera pas affectée.
Du point de vue du stockage, la copie superficielle consiste à augmenter l'adresse de stockage de la valeur pointée par le pointeur et n'ouvre pas un nouvel espace mémoire pour stocker la valeur, tandis que la copie profonde consiste à ouvrir un nouvel espace mémoire pour stocker et pointez le pointeur sur la nouvelle adresse mémoire.

7.2 Comparaison des types

List[] (liste) : une collection mutable ordonnée qui autorise les données en double.
Tuple ( ) (tuple) : une collection immuable ordonnée qui autorise les données en double.
Collection { } (set) : collection non ordonnée et non indexée (l'index est une valeur clé), pas de données en double.
Dictionnaire { } (dictionnaire) : collection non ordonnée, mutable, indexée, pas de données en double.

Je suppose que tu aimes

Origine blog.csdn.net/qq_44723773/article/details/128679577
conseillé
Classement