Python maîtrise et est familier avec les types de données liste, ancêtre, dictionnaire et ensemble

王林
Libérer: 2023-04-16 14:46:03
avant
1087 Les gens l'ont consulté

Python maîtrise et est familier avec les types de données liste, ancêtre, dictionnaire et ensemble

Objet séquence (séquence)

"Séquence" est une méthode de stockage de données souvent utilisée en programmation. Dans d'autres langages de programmation, une « séquence » est souvent appelée « tableau », une structure de données utilisée pour stocker des éléments de données associés. Presque tous les langages de programmation fournissent des structures de données « séquentielles », telles que des tableaux unidimensionnels et multidimensionnels en C et Basic.

La différence entre séquence et tableau :

  • Le tableau fournit un espace mémoire continu qui peut stocker le même type de données.
  • Bien que les colonnes soient des espaces de stockage continus, elles peuvent stocker différents types de données et peuvent également être comprises comme des « tableaux plus avancés ».

【Objet séquence】

Objets séquence couramment utilisés en python

  • List List (type de données variable).
  • Tuple (type de données immuable).
  • Ensembles (type de données variable).
  • Dictionnaire (type de données variable).
  • String String (immuable).
  • gamme( ).

1. Liste Liste (type)

  • Liste (liste) est le type de données le plus fréquemment utilisé en Python.
  • Les listes peuvent compléter l'implémentation de la structure de données de la plupart des classes de collection. Il prend en charge les caractères, les nombres, les chaînes et peut même contenir des listes (c'est-à-dire imbriquées).
  • Les listes sont marquées de "[ ]" et constituent le type de données composites le plus courant en python.

Comment créer une liste

Syntaxe : Nom de l'objet de liste = [Élément 1, Élément 2, ..., Élément N].

Python maîtrise et est familier avec les types de données liste, ancêtre, dictionnaire et ensemble

Exemple : Deux façons de créer un objet liste.

Méthode 1 : Méthode par défaut

列表对象= [元素1,元素2,元素3, ...元素N, ]
>>> list1 = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9,]
>>> list1
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
>>> list2 = [‘a’, ’b’, ‘c’, ‘d’, ‘e’, ‘f’, ]
>>> list2
[‘a’, ’b’, ‘c’, ‘d’, ‘e’, ‘f’]
>>> list3 = [‘a’, 1 , True , ‘Hello’, ]
>>> list3
[‘a’, 1 , True , ‘Hello’]
Copier après la connexion

Exemple : Deux façons de créer un objet liste.

Méthode 2 : utilisez la fonction intégrée range0

  • Liste Python3) La fonction est un itérateur d'objet, qui peut convertir l'objet itérable renvoyé par range() en une liste, et le type de variable renvoyé est une liste.

Syntaxe :

列表对象 = list(range(stop))
>>> list1 = list(range(10))
>>> list1
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
>>> list2 = list(range(5, 10))
>>> list2
[5, 6, 7, 8, 9]
>>> list3 = list(range(0, 10, 2))
>>> list3
[0, 2, 4, 6, 8]
Copier après la connexion

Fonction intégrée Python3 range()

  • La fonction Python3 range0 renvoie un objet itérable, pas un type de liste, donc la liste ne sera pas imprimée lors de l'impression.

Syntaxe de création

① range( stop )
② range(start, stop [, step])
Copier après la connexion

Description du paramètre :

  • start : Le comptage commence à partir du début. La valeur par défaut commence à 0. Par exemple : range(5) est équivalent à range(0, 5).
  • stop : Compte jusqu'à l'arrêt inclus. Par exemple : range(0, 5) vaut [0, 1, 2, 3, 4] sans 5.
  • step : Taille du pas, la valeur par défaut est 1. Par exemple : range(0, 5) est équivalent à range(0, 5, 1).

Comment accéder à la liste ?

Vous pouvez également utiliser [head subscript: tail subscript: step] pour couper les valeurs dans la liste, et vous pouvez intercepter la liste correspondante.

  • L'indice d'indice de gauche à droite commence par 0 par défaut, et l'indice d'indice de droite à gauche commence par -1 par défaut. L'indice peut être vide pour indiquer le début ou la fin.

Démonstration de code : ch03-demol-it-slicepy

Python maîtrise et est familier avec les types de données liste, ancêtre, dictionnaire et ensemble

Résultats d'exécution :

Python maîtrise et est familier avec les types de données liste, ancêtre, dictionnaire et ensemble

Le premier élément de la mList peut-il être modifié ?

Mise à jour de la liste

  • La soi-disant mise à jour fait référence au réaffectation, suppression, ajout et autres opérations connexes d'éléments de liste.

Démonstration de code : cho3-dem2-istupdate.py

Python maîtrise et est familier avec les types de données liste, ancêtre, dictionnaire et ensemble

Résultats d'exécution :

Python maîtrise et est familier avec les types de données liste, ancêtre, dictionnaire et ensemble

Opérateurs de liste

  • Dans l'introduction aux chaînes, nous avons déjà découvert les fonctions des signes + et * et utilisation de la liste Semblable à cela, il existe également des opérations telles que len() et in.

Démonstration de code : ch03-demo03-list-operation.py

Python maîtrise et est familier avec les types de données liste, ancêtre, dictionnaire et ensemble

Résultats d'exécution :

Python maîtrise et est familier avec les types de données liste, ancêtre, dictionnaire et ensemble

Fonctions dans la liste

Afin de mieux exploiter les objets de liste, Python fournit également de nombreuses fonctions :

① len(list) : 获取列表元素的个数;
② max(list) : 获取列表中的最大值;
③ min(list) : 获取列表中的最小值;
④ list(seq) : 将元组对象转换成列表对象。
Copier après la connexion

La liste propose également un grand nombre de méthodes :

① .append(obj) :在列表末尾添加一个元素;
② .count(obj) : 统计某个元素在列表中出现的次数;
③ .index(obj) : 从列表中找出某个值第一个匹配的索引位置;
④ .insert(index, obj) : 向指定位置前序添加一个元素
⑤ .remove(obj) : 移除一个指定的元素;
⑥ .reverse() : 反向列表中的元素;
⑦ .sort() : 对列表进行排序;
Copier après la connexion

La différence entre List[] et list[:]

  • '[] "L'identification est une opération de référence et une opération de transfert d'adresse typique.
  • "[: ]"L'identité est une opération d'affectation et de transmission de valeur typique.

Exemple de code :

List_1 = [ 1, 2, 3, 4]
List_2 = list_1
Copier après la connexion

Python maîtrise et est familier avec les types de données liste, ancêtre, dictionnaire et ensemble

List_1 = [ 1, 2, 3, 4]
List_2 = list_1[:]
Copier après la connexion

Python maîtrise et est familier avec les types de données liste, ancêtre, dictionnaire et ensemble

.

2、元组(Tuple)类型

  • Tuple(元组)类似于List(列表)。
  • 元组不能二次赋值(元组内的元素不允许更新),相当于只读列表。
  • 元组用"() "标识。内部元素用逗号隔开。

如何创建元组?

语法:

元组对象名称 = ( 元素1, 元素 2, ……, 元素N )。

Python maîtrise et est familier avec les types de données liste, ancêtre, dictionnaire et ensemble

元组的特点

元组与列表的所有操作基本类似,唯一不一样的地方是,元组的元素不允许被修改。

示例代码:

>>> tup1 = tuple(range(5))
>>> tup1
(0, 1, 2, 3, 4)
>>> tup2 = (5, 6, 7,)
>>> tup2
(5, 6, 7)
Copier après la connexion

特别说明:

>>> tup1 = s(1)
>>> type(tup1)
>>> tup1 =(1,)
>>> tup1
Copier après la connexion

3、字典( Dictionary)类型

  • 字典(dictionary)是除列表以外python之 中最灵活的内置数据结构类型。key:value
  • 字典当中的元素是通过键来存取的 ,而不是通过偏移存取。
  • 字典用"{}”标识。字典由索引(key)和它对应的值value组成,是一个典型的"k-v值”数据结构。

如何创建字典?

语法:

  • 字典对象名称 = { }。
  • 字典对象名称 = { key1 : value1, key2 : value2, …. , keyN : valueN}。

字典( Dictionary) k-v值在内存中的表现形式

Python 字典

  • k-v结构- 般情况下在操作访问的时候都会使用key索弓进行每个元素的读取操作。
  • 由于key索引键 会被频繁访问,因此索引键key存放在Stack栈内存中,而value值则存储在Heap堆内存中。

内存表现形式:

Python maîtrise et est familier avec les types de données liste, ancêtre, dictionnaire et ensemble

如何访问字典:

语法:

  • 字典对象名称[ key ] #访问key对应的value值。
  • 字典对象名称.keys #访问当前字典所有key索引键。
  • 字典对象名称.values #访问当前字典所有valeus值。

代码演示: ch03-demo04.py

Python maîtrise et est familier avec les types de données liste, ancêtre, dictionnaire et ensemble

运行结果:

Python maîtrise et est familier avec les types de données liste, ancêtre, dictionnaire et ensemble

如何修改字典?

字典更新指的是对字段元素的重新赋值、删除、添加等相关操作。

相关方法:

  • update( ) # 添加一个新元素或更新已有元素。
  • pop( ) # 删除指定元素。

代码演示: cho3-demo05.py

Python maîtrise et est familier avec les types de données liste, ancêtre, dictionnaire et ensemble

运行结果 :

Python maîtrise et est familier avec les types de données liste, ancêtre, dictionnaire et ensemble

4、集合Set

  • 集合是一个无序不重复元素的集。基本功能包括关系测试和消除重复元素。
  • 可以用大括号({)创建集合。 注意:如果要创建一个空集合,你必须用set)而不是{} ;后者创建一个空的字典。

集合的创建

obj1 = {1, 2, 3, 4, 5}
obj2 = ({6, 7, 8, 9})
Copier après la connexion

集合Set的关系操作(交.并、补)

s = set([3,5,9,10]) #创建- -个数值集合
t = set("Hello") #创建一个唯一 字符的集合
a=t|s # t和s的并集,
b=t&s # t和s的交集
C=t-S #求差集(项在t中,但不在s中)
d=t^s #对称差集(项在域s中,不会同时出现在二者中)
Copier après la connexion

基本操作:

t.add('x") #添加一项
s.update([10,37,42]) #在s中添加多项
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:51cto.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