Python学习笔记五·列表的常见操作(二)

本节主要介绍数字列表的操作。

一、定义数字列表

和普通列表的定义方式相同,直接使用[]即可。也可以使用range()函数来定义。

number = list(range(1, 11)) # [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]

注意:2.x中range()的类型是list,3.x中range()的类型是range,因此在使用range()定义列表时,最好加入list()函数。
也可以通过乘法的方式定义列表。

image.png

二、max、min、sum函数

number = [2, 2, 0, 3, 5, 9, 8]
print min(number) # 最小值
print max(number) # 最大值
print sum(number) # 求和

image.png

思考:用一行代码实现1-100的和

print sum(list(range(1, 101)))

三、分片赋值

需求一:将列表[1, 5]修改为[1, 2, 3, 4, 5]

number = [1, 5]
print number
# 当start和stop的索引相等时,即在该索引处为list进行分片赋值
number[1:1] = [2, 3, 4]
print number

image.png

需求二:将列表[1, 2, 3, 4, 5]修改为[1, 5]

number = [1, 2, 3, 4, 5]
print number
# 当赋空值时,会清空start和stop索引之间的数据,包括start不包括stop
number[1:4] = []
print number
image.png

需求三:改变列表index后的值

str_list = ["Hello", "word!"]
print str_list
# 修该str_list索引1后的值
str_list[1:] = ["Python!", "I", "love", "Python!"]
print str_list
image.png

四、count函数

count用于统计某个元素在列表中出现的次数。

str_list = ['and', 'or', 'hello', 'to', 'in', 'hello', 'and', 'hello']
print str_list.count('hello')   # 3

number = [1, 2, 3, 4, 1, 5]
print number.count(1) # 2
image.png

再来一个复杂的列表

number = [1, [1, 2], [1], [2, 1, [1, 2], 1], 1]
print number.count(1) # 2
print number.count([1]) # 1
print number.count([1, 2]) # 1
print number[3].count(1) # 2
  • 第一行print语句统计number中元素1出现的次数,在number中只有第0位第4位才是1,因此统计结果是2
  • 第二行print语句统计number中元素[1]出现的次数,在number中只有第2位才是[1],因此统计结果是1
  • 第三行print语句统计number中元素[1, 2]出现的次数,在number中只有第1位才是[1, 2],因此统计结果是1
  • 第四行print语句统计number[3]中元素1出现的次数,number[3]的值为[2, 1, [1, 2], 1],在number[3]中只有第1位第3位才是1,因此统计结果是2

运行结果如下:


image.png

五、extend函数

extend函数用于在列表的末尾追加一个新的列表。

number_a = [1, 2, 3]
number_b = [4, 5, 6]
number_a.extend(number_b)
print number_a # [1, 2, 3, 4, 5, 6]

image.png

另外,也可以用连接操作实现extend的效果,但是连接操作是用两个列表的副本进行连接,会生成一个新的列表,而不改变原来的列表,如果再使用number_a += number_b去改变原列表的值,效率比extend较低。

number_a = [1, 2, 3]
number_b = [4, 5, 6]
print number_a + number_b # [1, 2, 3, 4, 5, 6]
print number_a # [1, 2, 3]

image.png

当然我们也可以使用分片赋值的方法实现extend的效果,但是代码的可读性不如extend

number_a = [1, 2, 3]
number_b = [4, 5, 6]
number_a[len(number_a):] = number_b
print number_a # [1, 2, 3, 4, 5, 6]
image.png

六、index

index用于从列表中找出某个元素第一次匹配项的索引位置。

str_list = ['how', 'do', 'you', 'do']
print str_list.index('do') # 1

image.png

注意:当找不到时会报异常

str_list = ['how', 'do', 'you', 'do']
print str_list.index('hello')
image.png

你可能感兴趣的:(Python学习笔记五·列表的常见操作(二))