目录
列表
列表是由一系列按特定顺序排列的元素组成,可以包含字母、数字。
-
访问列表元素
可以直接通过数组下标进行访问。
访问最后一个列表元素可以使用fruits[-1],访问倒数第二个元素可以使用fruits[-2],以此力推可以访问之前的元素。
fruits = ['apple', 'orange', 'banana']
print(fruits[0]) # 首元素
print(fruits[1]) # 第2个元素,元素下标从0开始
print(fruits[-1]) # 打印最后一个元素
print(fruits[-2]) # 打印倒数第2个元素
#运行结果
apple
orange
banana
orange
-
修改列表元素
可以直接通过数组下标进行重新赋值。
fruits = ['apple', 'orange', 'banana']
#修改列表元素的值
fruits[0] = 'pear' # 修改下标0元素值为pear
print(fruits)
#运行结果
['pear', 'orange', 'banana']
-
在列表中添加元素
使用append方法添加:只能在列表末尾添加元素。
使用Insert方法添加:可以在列表中任意指定位置添加元素,位置之后的元素顺序右移一个位置。
fruits = ['apple', 'orange', 'banana']
#在列表末尾添加元素
fruits.append('peach') # 在列表末尾添加元素peach
print(fruits)
#在列表中添加元素
fruits.insert(1, 'lemon') # 在列中中1位置添加元素lemon,列表中所有元素的值都会右移1个位置
print(fruits)
#运行结果
['pear', 'orange', 'banana', 'peach']
['pear', 'lemon', 'orange', 'banana', 'peach']
-
从列表中删除元素
删除之后列表元素均会从列表移除。
del方法删除:删除元素并且不需要使用它时。
pop方法删除:删除元素,但是还需要使用它时,可以将Pop的值赋值给变量。
remove方法删除:不知道元素的位置但是直到元素的值时,可以使用此方法。注意:当列表中存在多个和删除值相同的元素时,只删除第一个元素。
#在列表中删除元素
print("del one element")
fruits = ['apple', 'orange', 'banana', 'lemon']
del fruits[1] # 使用del方法删除下标为1的元素orange
print(fruits)
curFruit = fruits.pop() #使用Pop方法删除最后一个元素,类似于出栈操作,可以取出最后一个元素的值
print(curFruit)
print(fruits)
fruits = ['apple', 'orange', 'banana', 'lemon']
print(fruits)
curFruit = fruits.pop(1) # 使用Pop方法删除最后第2个元素,需指定删除元素的索引
print(fruits)
#remove方法删除元素
fruits = ['apple', 'orange', 'banana', 'lemon']
print(fruits)
#运行结果
del one element
['apple', 'banana', 'lemon']
lemon
['apple', 'banana']
['apple', 'orange', 'banana', 'lemon']
['apple', 'banana', 'lemon']
['apple', 'orange', 'banana', 'lemon']
['apple', 'orange', 'lemon']
组织列表
sort()对列表永久排序:
sort()排序方法会永久性改变列表排序,原列表排序将不存在;
#sort排序 对列表进行永久性排序
fruits = ['apple', 'orange', 'banana', 'lemon']
print("origin fruits:")
print(fruits)
fruits.sort()
print("After sort list:")
print(fruits)
#运行结果
origin fruits:
['apple', 'orange', 'banana', 'lemon']
After sort list:
['apple', 'banana', 'lemon', 'orange']
sorted()对列表临时排序:
sorted()不会改变原列表顺序。
#sorted()排序 不会改变原列表顺序
fruits = ['apple', 'orange', 'banana', 'lemon']
print("origin fruits:")
print(fruits)
print("After sorted list:")
print(sorted(fruits))
print("origin fruits:")
print(fruits)
#运行结果
origin fruits:
['apple', 'orange', 'banana', 'lemon']
After sorted list:
['apple', 'banana', 'lemon', 'orange']
origin fruits:
['apple', 'orange', 'banana', 'lemon']
reverse()倒着打印列表:
reverse()方法是永久性改变列表元素顺序,将列表元素按列表排序反过来,非按字母排序。如果想将列表元素返回原来的顺序,只需要再次调用reverse方法即可。
#reverse()方法 对列表元素倒序排列
fruits = ['apple', 'orange', 'banana', 'lemon']
print("origin fruits:")
print(fruits)
fruits.reverse()
print("1st reverse list:")
print(fruits)
print("origin fruits:")
print(fruits)
fruits.reverse()
print("2nd reverse list:")
print(fruits)
print("origin fruits:")
print(fruits)
#运行结果
origin fruits:
['apple', 'orange', 'banana', 'lemon']
1st reverse list:
['lemon', 'banana', 'orange', 'apple']
origin fruits:
['lemon', 'banana', 'orange', 'apple']
2nd reverse list:
['apple', 'orange', 'banana', 'lemon']
origin fruits:
['apple', 'orange', 'banana', 'lemon']
len()确定列表长度:
len可确定列表长度。
#len() 确定列表长度
fruits = ['apple', 'orange', 'banana', 'lemon']
print(len(fruits))
#运行结果
4
创建数值列表
range函数
使用range函数可以生成一系列数字,注意:range函数生成的数字列表不包含末尾数字6。
#range函数
for num in range(1,6):
print(num)
#运行结果
1
2
3
4
5
将range生成的数字转换为列表,可以使用list()方法。
range函数还可以指定步长,range(num1, num2, num3),其中num1表示起始值;num2表示结束值,num3表示步长,即从起始开始num1, num1 + num3 * 1, num1+ num3*2 ... ... 直到num1+num3*N的值大于num2,列表结束。
#使用List生成数字列表
numbers = [] #创建一个空列表
for num in range(2,13,3):
numbers.append(num)
print(numbers)
#运行结果
[2, 5, 8, 11]
操作数值列表相关的其它函数
min, max, sum
#使用List生成数字列表
numbers = [] #创建一个空列表
for num in range(2,13,3):
numbers.append(num)
print(numbers)
print(min(numbers))
print(max(numbers))
print(sum(numbers))
#运行结果
[2, 5, 8, 11]
2
11
26
列表解析
列表解析将for循环和创建新元素的代码合并成一行,并自动附加新元素。
#列表解析创建列表
numbers = [value**2 for value in range(1,13,4)]
print(numbers)
#运行结果
[1, 25, 81]
使用列表的部分元素
切片
可以使用切片访问列表中的部分元素。例如列表fruits[num1: num2],表示从下标num1开始到num2-1下标结束的元素片段。其中类似前面介绍的倒着访问列表元素,-1表示最后一个列表元素,-2表示倒数第二个列表元素,依次类推。
可以使用for循环遍历切片。
#切片
fruits = ['apple', 'orange', 'banana', 'lemon']
print(fruits[1:3]) # 打印第2个到第3个元素
print(fruits[-2:-1])
print(fruits[:3])
print(fruits[-2:])
for fruit in fruits[1:3]:
print(fruit.title())
#运行结果
['orange', 'banana']
['banana']
['apple', 'orange', 'banana']
['banana', 'lemon']
Orange
Banana
for 语句
使用for循环可以重复执行某些动作,例如对列表元素依次执行某个操作。注意for循环后面需要跟着:代码for循环语句的结束,for循环后面需要缩进,相同的缩进代表相同的代码块。
#for循环
fruits = ['apple', 'orange', 'banana', 'lemon']
for fruit in fruits:
print(fruit.title())
print("All fruits")
#运行结果
Apple
Orange
Banana
Lemon
All fruits