本节主要介绍数字列表的操作。
一、定义数字列表
和普通列表的定义方式相同,直接使用[]即可。也可以使用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