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

列表

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

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
  • 37
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值