首页 > 编程语言 >蟒蛇书入门学习笔记(3)Python列表

蟒蛇书入门学习笔记(3)Python列表

时间:2024-03-24 22:33:03浏览次数:30  
标签:入门 Python 元素 列表 索引 蟒蛇 names print 方法

列表

列表是一种数据结构,用于储存一系列有序的数据,可以根据需要动态地增加或删除元素。列表在很多编程语言中都有内置的实现,常用的操作包括插入、删除、修改和查找元素。

1.列表的表示

列表可以包含字符、数字等等元素,一般来说用表示复数的名称(如letters,digits,names)命名列表,用方括号[ ]表示列表,用逗号分隔其中的元素,例如:

names = ['xiaoming','xiaofang','xiaogang','xiaohong']
print (names)

Python将会打印列表的内部表示,包括方括号:

['xiaoming','xiaofang','xiaogang','xiaohong']

2.列表的访问

访问列表,需要将该元素的位置告诉Python。列表中元素的位置为从零开始的数字编号。例如,访问上面列表names中的第一个元素:

names = ['xiaoming','xiaofang','xiaogang','xiaohong']
print (names[0])
#列表的索引从0开始,这与平时习惯不一样,一定要关注这一细节

请求列表元素时,只输出元素,而不带括号。

输出如下:

xiaoming

这里要注意,由于列表的索引从0开始,因此,访问第一个元素应使用索引0;使用第n个元素应使用索引n-1 。当然,你也可以将要存储的内容从索引1位置开始存放,而在索引0位置放入一些其他东西。

另外,Python提供了一个特殊的索引——位置-1 。将索引指定为-1可以让Python返回列表最后一个元素。

3.列表元素的使用

我们可以像使用变量一样使用列表元素。

例如在字符串中使用:

#省略names的定义
message = f"My name is {names[0]}.)
print (message)

输出如下:

My name is xiaoming.

同样,也可以对列表元素使用上一节讲过的各种方法,例如lstrip、rstrip、title等等;列表元素也可以用在数字运算中(当列表元素为数值时)。

我们应该这样理解列表:将一系列的元素,用一个统一的名称将它们整合起来,它们就像同一栋公寓的不同住户,通过门牌号区分不同房间和住户。而变量就是每个元素的名称,呼唤名称的时候便可以调用这个元素。变量和列表都是指向元素的地址,在底层逻辑上相同,因此可以对变量和列表采取许多相同的操作——前提是确定好它们所指向的位置。

4.对列表的操作

上一部分,我们介绍了对列表元素的操作;本部分,我们将介绍对列表本身的操作。包括修改元素、管理列表、获取列表信息。

4.1修改、添加、删除元素

修改元素十分简单,只需要用另外一个值赋给相同位置,原本的信息便会被覆盖掉,变为新的信息。

添加元素需要使用到方法append 或 insert,两者区别如下:

  • 列表名.append(插入内容) 在列表末尾添加元素;
  • 列表名.insert (索引位置,插入内容) 在索引位置插入元素,后面的元素位置依次右移;

删除元素用到语句del, 或是方法pop、方法remove

  • del语句   删除指定位置的元素
  • pop方法  括号内为空时弹出列表末尾的元素,括号内有索引时弹出这个位置的元素;并反馈回这个元素
  • remove方法  括号内为要删去的元素的值(不是索引),在列表中删去这个元素,并返馈回这个元素。

要注意,一般来说一个方法会有返回值。可以将此返回值赋予别的变量,也可以仅仅使用这个方法,让这个被弹出的元素流失。因此,当我们不再需要删除的元素时,可以用del语句;而之后还需要用到被删除的元素时,用pop方法。而当我们要删去某个量但不知道它(们)的具体位置时,就可以使用remove方法。

它们的使用方法如下:

#省去names定义
names[0] = "xiaohua"

print (names[0])

names.append ("xiaomei")
names.insert (2,"xiaoshuai")

del names[1]
print (names)

a = names.pop ()
print (a)

b = names.remove ("xiaoshuai")
print (b)

限于篇幅,我们这里不把输出贴出来,大家可以自行去尝试一下。 

4.2.管理列表

使用sort方法或sorted函数可以对列表进行排序。其中,sort方法对列表进行永久排序,而sorted函数对列表进行临时排序。均按照字母顺序。

使用方法如下:

#省去names的定义
names.sort ()
print (names)

names.sort (reverse = True)
print (names)

print (sorted(names))

其中,sort方法中我们将参数reverse设为True,能够实现逆序排序。 同样的,也可以对sorted函数传递参数reverse = True

除了对列表进行排序,我们还可以通过reverse方法,直接实现列表反转。这并非根据字母顺序,而是直接反转元素的排列顺序。

#省去names的定义
names.reverse ()
print (names)

4.3获取列表信息

我们可以通过len函数确定列表的元素个数(列表长度)。

例如:

animals = ['cat','dog','pig','sheep']
print (len(animals))

结果为:

4

标签:入门,Python,元素,列表,索引,蟒蛇,names,print,方法
From: https://blog.csdn.net/Crowd_Of_Silver/article/details/136993831

相关文章

  • python数据挖掘实验一:数据分析及可视化应用
    1.导入pandas包importpandasaspd2.根据给定的原始数据集创建一个DataFrame类型对象dfdata={'id':[10001,10002,10003,10004,10005,10006,10007,10008,10009,10010],'name':['LY','CE','ZS','LS','WU','......
  • Python爬虫--2
    本节笔记获取豆瓣网站内容记录文件创建时间文件→设置→编辑器→文件和代码模板中找到PythonScript在输入界面输入"#日期:${DATE}"#文件:${NAME}新建一个Python文件,显示了此文件创建时间和文件名字一.单页获取1.获取电影名字网页URL:https://movie.douban.com/top250......
  • Python 中的抽象类和接口类
    【抽象类】抽象类是一个特殊的类,只能被继承,不能被实例化。它主要用于作为其他类的基类或模板。抽象类可以包含抽象方法和具体方法。在抽象类中定义的抽象方法必须在子类中进行实现。fromabcimportabstractmethod,ABCMetaclassFruit(metaclass=ABCMeta):@abstractme......
  • nginx入门-31-学习笔记
    nginx入门-31-学习笔记环境环境:虚拟机ip:10.0.1.0网关:10.0.1.2子网掩码:255.255.255.0测试机器ip:10.0.1.101概念1.安装nginx软件安装:yum安装yuminstallepel-releaseyuminstallnginx-ysystemctlstartnginx编译安装(生产环境)yum-yinstallpcr......
  • Python好库
    Python好库一、有序列表fromsortedcontainersimportSortedListsl=SortedList([1,3])sl.add(-1)sl.remove(3)print(sl)print(sl.bisect_left(1))print(sl.bisect_right(3))"""SortedList([-1,1])12"""二、排列组合fromitertoolsimpor......
  • 【Python】可视化Python库的依赖关系
    这里主要用了两个库:pipdeptree和pyecharts。pipdeptree用来解析所有库的依赖关系。pyecharts用来显示依赖的网络关系。通常的方法应该是通过输入下面命令:pipdeptree--json-tree>pkg.json得到关系树文件,然后解析该文件并在pyecharts显示即可。不过我不想解析json文件了......
  • Python问题异常处理与日志结合
    我们掌握了try-except来处理程序运行中可能遇到的异常,以及使用logging来记录程序运行日志,该篇文章就结合二者来讲讲如何记录程序运行过程中的各种事件、状态信息以及遇到的异常情况,以便于追踪、诊断和解决程序运行时的问题。目录一、配置日志记录器 (logging.Logger)二、......
  • 10个超实用的Python模板
    From: https://mp.weixin.qq.com/s/MCQIDYEXsp2v7RRsLaJ4JA-------------------------------------------------------------------------------------以下是10个超实用的Python模板,可以帮助您更快速地开始编写不同类型的代码:1.简单脚本模板:#!/usr/bin/env pythondef main......
  • 【进阶五】Python实现SDVRP(需求拆分)常见求解算法——自适应大邻域算法(ALNS)
    基于python语言,采用经典自适应大邻域算法(ALNS)对需求拆分车辆路径规划问题(SDVRP)进行求解。目录往期优质资源1.适用场景2.代码调整3.求解结果4.代码片段参考往期优质资源经过一年多的创作,目前已经成熟的代码列举如下,如有需求可私信联系,表明需要的问题与算法......
  • 【javaWeb &第三篇】Vue快速入门
    VUEvue是一套前端框架,免除原生的js的DOM操作,简化书写基于MVVM(model-view-viewmodel)思想,实现数据的双向绑定,将编程的关注放在数据上。什么是框架:框架相当于一个半成品,是一套高效的代码模板,基于框架开发更加的高效VUE数据绑定模型:model层中存在着对数据的处理,vi......