python列表是最具有灵活性的有序集合对象类型。它可以包含任意的对象:数字、字符串以及其他的列表。与字符串不同的是列表是可变对象,可以在原地进行修改。
一.列表的基本操作
1.确定列表的长度
使用len()函数可以快速的确定列表的长度,如下:
list_info = ['car','cat','audi','dd']print('列表list_info的长度是:%d' % len(list_info))# 列表list_info的长度是:4
2.列表的合并
s = [1,2,3,4,5]+[6,7,8,9,10]print(s)# [1, 2, 3, 4, 5, 6, 7, 8, 9, 10] s = [1,2,3,4,5]s.extend([5,6,7,8,9,10])print(s)# [1, 2, 3, 4, 5, 5, 6, 7, 8, 9, 10]
二.列表的迭代和解析
1. 判断某个元素是否在列表中
print('food' in ['food','tea','apple'])# True
2.遍历整个列表
infos = ['food','tea','apple']for info in infos: print(info)#food#tea#apple
3. 列表的解析
3.1 列表解析表达式
res = [i*4 for i in [1,2,3,4]]print(res)# [4, 8, 12, 16]res = []for i in [1,2,3,4]: res.append(i * 4)print(res) ps:张两段代码的意思是相同的
3.2 enumerate方法解析列表
res = ['food','tea','apple']print(enumerate(res))#for index,value in enumerate(res): print(index,value)# 0 food# 1 tea# 2 apple
三.列表的基本方法
1. 访问列表的元素
name = ['wl','tom','jack','wtx','lhc']print(name[0])# wl
2. 切片
name = ['wl','tom','jack','wtx','lhc','Eric','Amy','tanlan']print('获取下标1-4的数据,包括1,不包括4:',name[1:4])# 获取下标1-4的数据,包括1,不包括4: ['tom', 'jack', 'wtx']print('获取下标1- -1的元素,不包括-1:',name[1:-1])# 获取下标1- -1的元素,不包括-1: ['tom', 'jack', 'wtx', 'lhc', 'Eric', 'Amy']print('从头开始0-3:',name[0:3],name[:3])# 从头开始0-3: ['wl', 'tom', 'jack'] ['wl', 'tom', 'jack']print('获取最后一个值:',name[len(name)-1])# 获取最后一个值: tanlanprint('每隔几个元素获取一个:',name[1::2],name[::-1])# 每隔几个元素获取一个: ['tom', 'wtx', 'Eric', 'tanlan'] ['tanlan', 'Amy', 'Eric', 'lhc', 'wtx', 'jack', 'tom', 'wl']
3. 列表的追加
name = ['wl','tom','jack','wtx']name.append('china') # 在列表的末尾追加print(name)# ['wl', 'tom', 'jack', 'wtx', 'china'] name.insert(2,'vict') # 指定位置追 print(name)
# ['wl', 'tom', 'vict', 'jack', 'wtx', 'china']
4. 修改
name = ['wl','tom','jack','wtx']name[2] = 'rain'print(name)# ['wl', 'tom', 'rain', 'wtx']
5. 删除
5.1 根据下标删除元素
name = ['wl','tom','jack','wtx']del name[2]print(name)# ['wl', 'tom', 'wtx']
5.2 删除指定元素
name = ['wl','tom','jack','wtx']name.remove('tom')print(name)# ['wl', 'jack', 'wtx']
5.3 删除最后一个元素
name = ['wl','tom','jack','wtx']s = name.pop()print(s,name)# wtx ['wl', 'tom', 'jack']
6. 排序和翻转
6.1 排序
name = ['wl','tom','jack','wtx']name.sort() # 对列表进行永久的排序print(name)# ['wl', 'tom', 'jack', 'wtx']#sorted() 对列表进行临时排序print(sorted(name)) #按照字母顺序# ['jack', 'tom', 'wl', 'wtx']print(name)# ['wl', 'tom', 'jack', 'wtx']
6.2 倒着打印列表(翻转列表)
name = ['wl','tom','jack','wtx']name.reverse()print(name)# ['wtx', 'jack', 'tom', 'wl'] for i in reversed(name): print(i) # 'wtx', 'jack', 'tom', 'wl'
7. 获取元素的下标
name = ['wl','tom','jack','wtx','wl']print(name.index('wl'))# 0-只会获取第一次出现时的下标
8. 拷贝列表
import copyname = ['wl','tom','jack','wtx','wl']name1 = copy.copy(name)print(name1)# ['wl', 'tom', 'jack', 'wtx', 'wl']name2 = name[:]print(name2)# ['wl', 'tom', 'jack', 'wtx', 'wl']name3 = list(name)print(name3)# ['wl', 'tom', 'jack', 'wtx', 'wl']