1、列表定义和索引
列表由一系列按特定顺序排列的元素组成。在Python中,用方括号[]来表示列表,用逗号隔开列表中的元素。
例如:bicycles=['trek','cannondale','redline','specialized']
列表的索引时从0开始,例如bicycles[0]------>trek bicycles[2]------>cannondale...以此类推。
同时Python的索引还支持反响索引,当需要查找列表中的最后一个元素,则令索引值为-1即可。例如:bicycles[-1]------>specialized,bicycles[-2]------>redline...以此类推。
2、修改、添加、删除列表元素
2.1 修改列表元素即对列表元素进行重新赋值,使用方法是重新对元素的索引值赋值。
例如:motorcycles = ['honda', 'yamaha', 'suzuki'] motorcycles[0]='ducati'
print(motorcycles)------> ['ducati', 'yamaha', 'suzuki']
2.2 可以通过特定方法向列表中添加元素
a>append() 在列表末尾添加元素,通过这个方法可以方便的实现动态添加元素,例如先创建一个空列表然后通过一系列的append()方法添加元素
motorcycles = ['honda', 'yamaha', 'suzuki']
motorcycles.append('ducati')
print(motorcycles)------>['honda', 'yamaha', 'suzuki', 'ducati']
b>insert()方法,在列表任意位置添加元素,使用方法:
列表名.insert(位置,‘元素值’),例如:
motorcycles = ['honda', 'yamaha', 'suzuki']
motorcycles.insert(1,'ducati') 向列表的索引号为1的位置插入元素'ducati',原位置及以后的元素后移
print(motorcycles)------>['honda', 'ducati','yamaha', 'suzuki']
2.3.1 使用del语句删除元素,如果知道要删除元素的索引值则使用del语句
motorcycles = ['honda', 'yamaha', 'suzuki']
del motorcycles[0]
print(motorcycles)------> ['yamaha', 'suzuki']
2.3.2 使用pop()语句删除元素,如果被删除的元素在后续的程序中需要使用则使用pop()语句,默认删除列表中末尾的元素。若需要删除索引值的元素则使用pop(索引值)
motorcycles = ['honda', 'yamaha', 'suzuki']
last_motorcycles=motorcycles.pop() :删除最后一个元素,last_motorcycles=suzuki
first_motorcycles=motorcycles.pop(0) : 删除第一个元素,first_motorcycles=honda
如果在后面的程序中需要使用之前删除的元素则建议使用pop()方法,否则建议使用del语句删除元素
2.3.3 如果不知到所要删除元素的索引值,则使用remove()方法删除已知的元素,例如:
motorcycles = ['honda', 'yamaha', 'suzuki']
delete='yamaha'
motorcycles.remove(delete)
通常将要删除的元素保存到一个变量中,通过remove(变量名)方法删除列表中的元素,但该元素值也保存到变量中方便以后可以使用。
需要注意的是,方法remove()只删除列表中第一个指定的值,若列表中出现多个需要删除的值,则需要循环操作来删除该元素。
3、组织列表
3.1 使用sort()方法永久改变列表排序(默认按照ASCII码从小到达正向排序)
例如: cars=['bwm','toyota','subaru']
cars.sort()
print(cars)------>['bwm', 'subaru', 'toyota']
若需要对元素进行反向排序,则需要向sort()方法传递reverse=True即可
例如: cars=['bwm','toyota','subaru']
cars.sort(reverse=True)
print(cars)------>['toyota', 'subaru','bwm']
3.2 使用函数sorted()队列表进行临时排序,当需要显示表排序的结果,但又不改变列表的原始排序,则需要使用sorted()方法
例如: cars=['bwm','toyota','subaru']
print(sorted(cars))------>['bwm', 'subaru', 'toyota'] //临时排序
print(cars)------>['bwm','toyota','subaru'] //原始排序顺序没有变
3.3 使用reverse()方法将列表内元素排序由正序改为倒序,方法reverse()可以永久的改变列表的顺序,若要使列表恢复原有顺序,则对列表再次进行reverse()方法操作
例如: magicians=['alice','david','carlina']
magicians.reverse()
print(magicians)------>['carlina', 'david', 'alice']
3.4 使用len()函数可以得到列表的长度
例如: magicians=['alice','david','carlina']
magician_num=len(magicians)
print(magician_num)------>3
3.5 使用for循环遍历整个列表
例如: magicians=['alice','david','carlina']
for magician in magicians:
print(magician)------> alice
david
carlina
3.6 使用range()函数和list()函数创建数值列表
range(num1,mun2)函数是产生从num1~num2-个连续的数值,例如range(1,5)则会依次产生1,2,3,4这个4个数字;list()函数则可以将range()函数产生的数值转化成列表。
例如: numlist=list(range(1,6))
print(numlist)------>[1,2,3,4,5]
使用range函数时还可以指定步长,例如range(1,10,2),则表示产生从1开始到9结束之间步长为2的数字[1,3,5,7,9]。
使用for循环和range函数也可产生数值列表,优势在于产生数值列表时可以对数值进行操作,比如长生1~9的平方的数值列表
例如: sqares=[]
for i in range(1,10):
sqares.append(i**2)
print(sqares)------>[1, 4, 9, 16, 25, 36, 49, 64, 81]
3.7 使用min()函数,max()函数和sum()函数对数字列表进行简单的统计计算
例如 >>> digits=[1,2,3,4,5,6,7,8,9,10]
>>> min(digits) #最小值计算
1
>>> max(digits) #最大值计算
10
>>> sum(digits) #求和计算
55
3.8 列表解析
列表解析将for循环和创建新元素的代码合并成一行并附加新元素
例如:square=[value**2 for value in range(1,10,2)]
print(square)------>[1,9,25,49,81]
使用列表解析时首先需要定义一个列表名如square,然后指定一个方括号左边的一个表达式,用于生成要存储的值。接下来编写一个for循环用于为表达式提供数值。