列表
1.定义:在[]内,用逗号分隔开多个任意数据类型的值
l1=[1,'a',[1,2]] #本质:l1=list([1,'a',[1,2]])
2.类型转换
但凡能被for循环遍历的数据类型都可以传给list()转换成列表类型,list()会跟for循环一样遍历出数据类型中
包含的每一个元素然后放到列表中
res=list('wdad')
print(res) #['w', 'd', 'a', 'd']
res1=list([1,2,3])
print(res1) #[1, 2, 3]
res2=list({'name':'jason','age':18})
print(res2) #['name', 'age'] key值
res3=list((1,2,3))
print(res3) #[1, 2, 3]
res4=list({1,2,3,4})
print(res4) #[1, 2, 3, 4]
3.优先掌握的操作
1.1 按索引存取值(正,反向取):可存可取
my_friends=['tony','jack','jason',4,5]
print(my_friends[0]) #tony
1.2 反向取(负号表示从右往左)
print(my_friends[-1]) #5
1.3对于list来说,既可以按照索引取值,又可以按照索引修改指定位置的值,但如果索引不存在则报错
my_friends[1]='martthow'
print(my_friends)
2.切片(顾头不顾尾,步长)
2.1 顾头不顾尾:去除索引为0到4的元素
print(my_friends[0:4]) #['tony', 'martthow', 'jason', 4]
2.2 步长:0:4:2,第三个参数2代表步长,会从0开始,每次累加一个2即可,所以会去除索引0,2的值
print(my_friends[0:4:2]) #['tony', 'jason']
3.长度
print(len(my_friends)) #5
4.成员运算in和not in
print('tony'in my_friends) #True
print('xxx' not in my_friends) #True
5.添加
5.1 append()列表尾部追加元素
l1=['a','b','c']
l1.append('d')
print(l1) #['a', 'b', 'c', 'd']
5.2 extend()一次性在列表尾部添加多个元素 也可以添加字符串 ,当里面()是字典时会将字典的所有key值添加进去
l1.extend(['a','b','c'])
print(l1) #['a', 'b', 'c', 'd', 'a', 'b', 'c']
l1.extend({'p':1,'o':2})
print(l1)
5.3 insert()在指定位置插入元素 括号内所以值就是‘y'的索引值
l1.insert(2,'y')
print(l1) #['a', 'b', 'y', 'c']
6.删除
6.1 del 根据索引指定删除列表内的元素,且不可恢复 无返回值(不能调用print功能)
l=[11,22,33,44]
del l[1]
print(l) #[11, 33, 44]
6.2 pop() 默认删除列表最后一个元素,并将删除的值返回,括号内可以通过索引来指定删除的元素。
print(l.pop(2)) #print打印出来就是pop的返回值 33
print(l) #[11, 22, 44]
res=l.pop(2) #res是将pop删除的值接收
print(res) # 33
6.3 remove()括号内指明道姓表示要删除那个元素,没有返回值
print(l.remove(33)) #打印出来是None 因为remove没有返回值
res=l.remove(33)
print(res) #None
print(l) #[11, 22, 44]
7.reverse() 颠倒列表内的元素
print(l.reverse()) #返回值是None
print(l) #[44, 33, 22, 11]
8.sort()给列表内所有的元素排序
8.1 排序时列表内元素之间必须是相同的数据类型,不可混搭,否则报错
l=[11,22,44,666,4,78,9,3]
print(l.sort()) #没有返回值 打印出来是None
l.sort()
print(l) #[3, 4, 9, 11, 22, 44, 78, 666] 默认是从小到大排序
l.sort(reverse=True) #reverse用来指定是否颠倒排序,默认为False
print(l) #[666, 78, 44, 22, 11, 9, 4, 3]
8.2了解知识
列表,字符串也可以比较大小排序,都是依次比较大小根据的是它们在ASCII表中的先后顺序,越往后越大
l=['A','z','adjk','hello','hea']
l.sort()
print(l) #['A', 'adjk', 'hea', 'hello', 'z']
9.循环
循环遍历列表里的值 可以将列表内的值一个一个打印出来 如果想要 打印出来的值在一行内 可以再后面加上end=''
for line in l:
print(line,end=' ') #A adjk hea hello z
4.3.2 了解操作
l=[1,2,3,4,5,6]
print(l[0:3:1]) #[1, 2, 3] 正向步长
print(l[2::-1]) #[3, 2, 1] 反向步长
通过索引取值实现列表翻转
print(l[::-1]) #[6, 5, 4, 3, 2, 1]