创建列表
直接创建:
python
empty_list=[]
#创建空列表
num=[1,2,3,4]
fruit=['apple','banana','orange']
#一般建议一个列表中只出现一种数据类型
del num
#删除列表
list()函数创建列表:
可以将range对象,字符串,元组或其他转换成列表
python
num1=list(range(10))
num2=list(range(1,9,2))
访问列表元素
利用索引访问:
python
numlist=[1,2,3,4,5]
print(numlist[0])
#利用索引访问
print(numlist(-1))
# 索引也可以从尾部开始,最后一个元素的索引为-1,有后向前以此为-1,-2....
使用for循环:
python
numlist=[1,2,3,4,5]
for i in numlist:
print(i)
列表的方法:
添加:
append() 在列表末尾添加元素
insert(索引,元素) 将元素添加至列表的指定位置
extend([1,2,3]/list) 将另一个迭代对象的所有元素添加至该列表对象尾部!
'+' 运算符 numlist+[元素/列表名称]
'*' 运算符 将列表与整数相乘,新列表是源列表中元素的重复 numlist=[1,2,3] numlist*2=[1,2,3,1,2,3]
python
num_list=[1,2]
num_list.append(3)
num_list.insert(0,6)
num_list.extend([7,8,9])
print(num_list)
#[6, 1, 2, 3, 7, 8, 9]
删除 :
del del numlist[index]删除列表索引的元素
pop pop(索引) //pop()意为删除列表最末尾的元素
remove remove(元素)//remove()删除首次出现的指定元素
python
num_list=[1,2,3,4,5,6,7,7]
del num_list[0]#删除1
num_list.pop(0)#删除2
num_list.remove(7)#删除第一个7
print(num_list)
#[3, 4, 5, 6, 7]
修改
列表可以直接修改
numlist=[1,2,3,4,5]
numlist[0]=2
统计
count(元素) 获取指定元素出现的次数
index(元素) 获取指定元素首次出现的下标
sum()函数 统计数值列表中的各个元素的和
python
num_list=[1,2,3,4,5,6,7,7]
print(num_list.index(2))
print(num_list.count(7))
print(sum(num_list))
print(sum(num_list,90))
#90是指定相加的参数,若没有指定,则默认值为0
#1 2 35 125
排序
sort()元素类型是字符串时,先对大写字母进行排序,再对小写字母排序
sort(key=str.lower) 不区分字母大小写
python
num_list=[1,2,3,4,5,6,7,8,9,10]
import random
random.shuffle(num_list)#打乱排序
print(num_list)
num_list.sort(reverse=False)#默认升序排序
num_list.sort(reverse=True)#降序排序
#[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
#[10, 9, 8, 7, 6, 5, 4, 3, 2, 1]
sorted() 用来对列表排序生成新的列表,原列表的元素顺序保持不变
python
num_list=[1,2,3,4,5,6,7,8,9,10]
import random
random.shuffle(num_list)#打乱排序
print(num_list)
list1=sorted(num_list)
print(list1)
成员资格判断
- 使用in操作符判断一个值是否存在于列表中
- 使用not in操作判断一个值是否不在列表中
- 使用count()判断指定值在列表中出现的次数
- 使用index()查看指定值在列表中的位置
切片
通过切片操作可以生成一个新的列表,原列表不变
python
numlist=[1,2,3,4,5,6,7,8,9,10]
numlist[::]#从头到尾
numlist[:]#从头到尾
numlist[::-1]#从尾到头
numlist[1:3]#2,3
numlist[:3]#1,2,3
numlist[1:]#从索引1开始到最后
numlist[3:-1]#从索引3取到倒数第一个元素()不包括倒数第一个元素
numlist[-2]#取出倒数第二个元素
可以结合del命令与切片操作来删除列表中的部分元素
python
num_list=[1,2,3,4,5,6,7]
del num_list[:4]
#删除前三个元素
#[4,5,6,7]
列表推导式
{表达式 for 迭代变量 in 可迭代对象 [if条件表达式]}
python
a=range(10)
num_list=[x*x for x in a]
#[0,1,4,9,16,25,36,49,64,81]
二维列表
列表中的每个元素仍是列表:
[ [ 1 , 2 , 3 , 4 , 5 ] , [ 6 , 7 , 8 , 9 , 10 ] ]
python
#for循环为二维列表赋值
num_list=[]
for i in range(3):
num_list.append([])
for j in range(4):
num_list[i].append(j)
print(num_list)
#用列表推导式来创建二维列表
num_list=[[j for j in range(4)]for i in range(3)]
#[[0, 1, 2, 3], [0, 1, 2, 3], [0, 1, 2, 3]]