列表操作

列表作为Python的基础容器,同时也提供了丰富的访问方法,包括分片,乘法,成员资格内建函数等。

分片

分片是访问某个范围内的元素。分片通过冒号隔开的两个索引来实现。

对于lucky_numbers, 如果希望获取第0个到第3个元素(不包括),按照分片规则如何获取呢?示例代码参考:

在上面分片操作中,lucky_numbers = [0,1,2,3,4,5,6,7,8,9],lucky_numbers[0: 3]就是取索引大于等于0,小于3的元素,结果就是[0, 1, 2]; lucky_numbers[4: 7]就是取索引大于等于4,小于7的元素,结果就是[4, 5, 6];

其他示例参考:

在以上示例中,大家可以重点关注负索引带来的效果,以及只有冒号的情况下取出来的结果又是什么样的!

序列相加

通过+操作能够将两个链表连接在一起,这个过程类似于列表的扩展,不要认为是元素之间的加法运算了。示例展示:

# 序列相加
print([1,2,3] + [4, 5, 6])
print("hello" + "world")
# 注,字符串无法与列表连接在一起,尽管字符串也是列表,下面操作将出错
print([1, 2, 3] + "world!")

执行结果:

从上面的连接结果可以看到,[1,2,3] + [4, 5, 6]连接之后得到[1, 2, 3, 4, 5, 6]的一个长列表,字符串hello与world连接之后得到hello world!

乘法

数组的乘法操作就是将数据进行倍数扩展,例如,如果1个列表有x个元素,乘以y,那么,结果就有x*y个元素。

# 乘法
print(" python" * 5)
print(["python"] * 5)

如上示例,运行结果:

成员资格

成员资格是Python的一个基础操作,通过in关键字完成,用于判断一个元素是否在制定列表中,如果存在,则返回True,否则返回False。如下示例:

# in运算法用作成员资格计算
students_name = ["Bela", "Bob"]
print("Bela" in students_name)
print(input("Please input your name:") in students_name)
# 成员资格示例
studet_database =[["Bela" ,24 ],["Bob" ,12 ]]
username = input("username:")
age = int (input ("age:" ))
if [username ,age] in studet_database:
    print (True )
else:
    print (False False )

运行代码,看结果:

如果,数组中包含数组,又改如何处理呢,看下面写法:

上面代码,需要同时比对username字段和age字段,二者都相同才认为是存在。这就就需要输入两个变量,一个是字符串类型,一个是数字类型,当我们分别输入Bob和12的时候,打印结果为True。

数组计算

对于一个数组来说,可以计算它的长度、最大值、最小值,以及元素排序等操作,这些计算过程Python都已经通过内置函数的方式提供给我们调用。常用的内建函数包括:

len(): 计算长度
max(): 获取数组最大值
min(): 获取数组最小值

如下代码操作示例:

#Demo( 长度、最大值、最小值)
numbers = [100 ,55 ,88 ]
print(len(numbers))
print(max(numbers))
print(min(numbers))

运行上面代码,看效果:

获取numbers数组的长度、最大、最小值,得到的结果为3, 100, 22。其中,3就是numbers数组的长度,100和22也分别是这个数组的最大、最小值。那么,如果数组中元素是字符串,获取长度、最大、最小值会发生什么情况呢?

给予上述结果,字符串数组不仅能够计算长度,同时也能够计算最大值,和最小值。其最大值和最小值的计算方法就是计算每个字符的字母表值。

总结

本文主要将了关于列表的一些基本、常用的操作,包括分片、相加、相乘等,以及如何判断一个元素是否为列表的一个成员。关于列表,常用的方法如长度、最大值、最小值计算等。这些操作需要一个理解的过程,可以在实践的过程中逐渐深入,达到熟练使用的程度。

IT赶路人

专注IT知识分享