Maison développement back-end Tutoriel Python 跟老齐学Python之有容乃大的list(1)

跟老齐学Python之有容乃大的list(1)

Jun 06, 2016 am 11:33 AM

前面的学习中,我们已经知道了两种python的数据类型:int和str。再强调一下对数据类型的理解,这个世界是由数据组成的,数据可能是数字(注意,别搞混了,数字和数据是有区别的),也可能是文字、或者是声音、视频等。在python中(其它高级语言也类似)把状如2,3这样的数字划分为一个类型,把状如“你好”这样的文字划分一个类型,前者是int类型,后者是str类型(这里就不说翻译的名字了,请看官熟悉用英文的名称,对日后编程大有好处,什么好处呢?谁用谁知道!)。

前面还学习了变量,如果某个变量跟一个int类型的数据用线连着(行话是:赋值),那么这个变量我们就把它叫做int类型的变量;有时候还没赋值呢,是准备让这个变量接收int类型的数据,我们也需要将它声明为int类型的变量。不过,在python里面有一样好处,变量不用提前声明,随用随命名。

这一讲中的list类型,也是python的一种数据类型。翻译为:列表。下面的黑字,请看官注意了:

LIST在python中具有非常强大的功能。

定义

在python中,用方括号表示一个list,[ ]

在方括号里面,可以是int,也可以是str类型的数据,甚至也能够是True/False这种布尔值。看下面的例子,特别注意阅读注释。

>>> a=[]    #定义了一个变量a,它是list类型,并且是空的。
>>> type(a)
<type 'list'>  #用内置函数type()查看变量a的类型,为list
>>> bool(a)   #用内置函数bool()看看list类型的变量a的布尔值,因为是空的,所以为False
False
>>> print a   #打印list类型的变量a
[]
Copier après la connexion

不能总玩空的,来点实的吧。

>>> a=['2',3,'qiwsir.github.io']
>>> a
['2', 3, 'qiwsir.github.io']
>>> type(a)
<type 'list'>
>>> bool(a)
True
>>> print a
['2', 3, 'qiwsir.github.io']
Copier après la connexion

用上述方法,定义一个list类型的变量和数据。

本讲的标题是“有容乃大的list”,就指明了list的一大特点:可以无限大,就是说list里面所能容纳的元素数量无限,当然这是在硬件设备理想的情况下。

list索引

尚记得在《玩转字符串(3)》中,曾经给字符串进行编号,然后根据编号来获取某个或者某部分字符,这样的过程,就是“索引”(index)。

>>> url = "qiwsir.github.io"
>>> url[2]
'w'
>>> url[:4]
'qiws'
>>> url[3:9]
'sir.gi'
Copier après la connexion

在list中,也有类似的操作。只不过是以元素为单位,不是以字符为单位进行索引了。看例子就明白了。

>>> a
['2', 3, 'qiwsir.github.io']
>>> a[0]  #索引序号也是从0开始
'2'
>>> a[1]
3
>>> [2]
[2]
>>> a[:2]  #跟str中的类似,切片的范围是:包含开始位置,到结束位置之前
['2', 3]  #不包含结束位置
>>> a[1:]
[3, 'qiwsir.github.io']
>>> a[-1]  #负数编号从右边开始
'qiwsir.github.io'
>>> a[-2]
3
>>> a[:]
['2', 3, 'qiwsir.github.io']
Copier après la connexion

对list的操作

任何一个行业都有自己的行话,如同古代的强盗,把撤退称之为“扯乎”一样,纵然是一个含义,但是强盗们愿意用他们自己的行业用语,俗称“黑话”。各行各业都如此。这样做的目的我理解有两个,一个是某种保密;另外一个是行外人士显示本行业的门槛,让别人感觉这个行业很高深,从业者有一定水平。

不管怎么,在python和很多高级语言中,都给本来数学角度就是函数的东西,又在不同情况下有不同的称呼,如方法、类等。当然,这种称呼,其实也是为了区分函数的不同功能。

前面在对str进行操作的时候,有一些内置函数,比如s.strip(),这是去掉左右空格的内置函数,也是str的方法。按照一贯制的对称法则,对list也会有一些操作方法。

追加元素

>>> a = ["good","python","I"]   
>>> a
['good', 'python', 'I']
>>> a.append("like")    #向list中添加str类型"like"
>>> a
['good', 'python', 'I', 'like']
>>> a.append(100)      #向list中添加int类型100
>>> a
['good', 'python', 'I', 'like', 100]
Copier après la connexion

官方文档这样描述list.append()方法

list.append(x)
Add an item to the end of the list; equivalent to a[len(a):] = [x].
Copier après la connexion

从以上描述中,以及本部分的标题“追加元素”,是不是能够理解list.append(x)的含义呢?即将新的元素x追加到list的尾部。

列位看官,如果您注意看上面官方文档中的那句话,应该注意到,还有后面半句: equivalent to a[len(a):] = [x],意思是说list.append(x)等效于:a[len(a):]=[x]。这也相当于告诉我们了另外一种追加元素的方法,并且两种方法等效。

>>> a
['good', 'python', 'I', 'like', 100]
>>> a[len(a):]=[3]   #len(a),即得到list的长度,这个长度是指list中的元素个数。
>>> a
['good', 'python', 'I', 'like', 100, 3]
>>> len(a)
6
>>> a[6:]=['xxoo']
>>> a
['good', 'python', 'I', 'like', 100, 3, 'xxoo']
Copier après la connexion

顺便说一下len(),这个是用来获取list,str等类型的数据长度的。在字符串讲解的时候也提到了。

>>> name = 'yeashape'
>>> len(name)    #str的长度,是字符的个数
8
>>> a=[1,2,'a','b'] #list的长度,是元素的个数
>>> len(a)
4
>>> b=['yeashape']  
>>> len(b)
1
Copier après la connexion

下一讲继续list,有容乃大。

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

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

AI Hentai Generator

AI Hentai Generator

Générez AI Hentai gratuitement.

Article chaud

R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
2 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Meilleurs paramètres graphiques
2 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Comment utiliser la belle soupe pour analyser HTML? Comment utiliser la belle soupe pour analyser HTML? Mar 10, 2025 pm 06:54 PM

Cet article explique comment utiliser la belle soupe, une bibliothèque Python, pour analyser HTML. Il détaille des méthodes courantes comme find (), find_all (), select () et get_text () pour l'extraction des données, la gestion de diverses structures et erreurs HTML et alternatives (Sel

Modules mathématiques en python: statistiques Modules mathématiques en python: statistiques Mar 09, 2025 am 11:40 AM

Le module statistique de Python fournit de puissantes capacités d'analyse statistique de données pour nous aider à comprendre rapidement les caractéristiques globales des données, telles que la biostatistique et l'analyse commerciale. Au lieu de regarder les points de données un par un, regardez simplement des statistiques telles que la moyenne ou la variance pour découvrir les tendances et les fonctionnalités des données d'origine qui peuvent être ignorées et comparer les grands ensembles de données plus facilement et efficacement. Ce tutoriel expliquera comment calculer la moyenne et mesurer le degré de dispersion de l'ensemble de données. Sauf indication contraire, toutes les fonctions de ce module prennent en charge le calcul de la fonction moyenne () au lieu de simplement additionner la moyenne. Les nombres de points flottants peuvent également être utilisés. Importer au hasard Statistiques d'importation de fracTI

Sérialisation et désérialisation des objets Python: partie 1 Sérialisation et désérialisation des objets Python: partie 1 Mar 08, 2025 am 09:39 AM

La sérialisation et la désérialisation des objets Python sont des aspects clés de tout programme non trivial. Si vous enregistrez quelque chose dans un fichier Python, vous effectuez une sérialisation d'objets et une désérialisation si vous lisez le fichier de configuration, ou si vous répondez à une demande HTTP. Dans un sens, la sérialisation et la désérialisation sont les choses les plus ennuyeuses du monde. Qui se soucie de tous ces formats et protocoles? Vous voulez persister ou diffuser des objets Python et les récupérer dans son intégralité plus tard. C'est un excellent moyen de voir le monde à un niveau conceptuel. Cependant, à un niveau pratique, le schéma de sérialisation, le format ou le protocole que vous choisissez peut déterminer la vitesse, la sécurité, le statut de liberté de maintenance et d'autres aspects du programme

Comment effectuer l'apprentissage en profondeur avec TensorFlow ou Pytorch? Comment effectuer l'apprentissage en profondeur avec TensorFlow ou Pytorch? Mar 10, 2025 pm 06:52 PM

Cet article compare TensorFlow et Pytorch pour l'apprentissage en profondeur. Il détaille les étapes impliquées: préparation des données, construction de modèles, formation, évaluation et déploiement. Différences clés entre les cadres, en particulier en ce qui concerne le raisin informatique

Quelles sont les bibliothèques Python populaires et leurs utilisations? Quelles sont les bibliothèques Python populaires et leurs utilisations? Mar 21, 2025 pm 06:46 PM

L'article traite des bibliothèques Python populaires comme Numpy, Pandas, Matplotlib, Scikit-Learn, Tensorflow, Django, Flask et Demandes, détaillant leurs utilisations dans le calcul scientifique, l'analyse des données, la visualisation, l'apprentissage automatique, le développement Web et H et H

Stracage des pages Web en Python avec une belle soupe: recherche et modification DOM Stracage des pages Web en Python avec une belle soupe: recherche et modification DOM Mar 08, 2025 am 10:36 AM

Ce tutoriel s'appuie sur l'introduction précédente à la belle soupe, en se concentrant sur la manipulation de Dom au-delà de la simple navigation sur les arbres. Nous explorerons des méthodes et techniques de recherche efficaces pour modifier la structure HTML. Une méthode de recherche DOM commune est ex

Comment créer des interfaces de ligne de commande (CLI) avec Python? Comment créer des interfaces de ligne de commande (CLI) avec Python? Mar 10, 2025 pm 06:48 PM

Cet article guide les développeurs Python sur la construction d'interfaces de ligne de commande (CLI). Il détaille à l'aide de bibliothèques comme Typer, Click et Argparse, mettant l'accent sur la gestion des entrées / sorties et promouvant des modèles de conception conviviaux pour une meilleure convivialité par la CLI.

Expliquez le but des environnements virtuels dans Python. Expliquez le but des environnements virtuels dans Python. Mar 19, 2025 pm 02:27 PM

L'article traite du rôle des environnements virtuels dans Python, en se concentrant sur la gestion des dépendances du projet et l'évitement des conflits. Il détaille leur création, leur activation et leurs avantages pour améliorer la gestion de projet et réduire les problèmes de dépendance.

See all articles