一:作用
存多个值,并且是索引对应的值,按位置存放多个值
二:定义
l = [1,1.2,'aaa',[1,2]]
三:类型转换
但凡能够被for循环遍历的类型都可以当做参数传给list()转成列表
res = list('hello')
print(res)
res({'k1':111,'k2':222,'k3':333})
print(res)
四:内置方法
1.按照索引取值(正向取值+反向取值)可以取也可以改
l = [111,'egon','hello']
正向取值
print(l[0])
反向取值
print(l[-1])
可以取也可以改:索引存在则不会报错
l[1] = 222
print(l)
无论是取值操作还是赋值操作,索引不存在则报错
l[3]=333
2.切片(顾头不顾尾,步长)
l = [111,'egon','hello','a','b','c','d']
print(l[0:3]) #111,'egon','hello','a'
print(l[0:5:2]) #0 2 4
print(l[0:len(l)])
print(l[:])
new_l = l[:] #切片等同于拷贝行为,相当于浅拷贝行为
3.长度
l = [111,'egon','hello']
print(len([1,2,3]))
4.成员运算 in 与 not in
判断一个子字符串是否存在于一个大字符串中
print("alex" in "alex is sb")
True
print("alex" not in "alex is sb")
False
print(not "alex" in "alex is sb") # 不推荐使用
False
5.追加
l = [111,'egon','hello']
l.append(3333)
l.append(4444)
print(l)
6.插入值
l = [111,'egon','hello']
l.insert(1,'alex')
7.在右侧插入列表内的信息
new_l = [1,2,3]
l = l = [111,'egon','hello']
#代码实现
for item in new_l:
l.append(item)
print(l)
extend可以实现上述代码
new_l = [1,2,3]
l = l = [111,'egon','hello']
l.extend(new_l)
print(l)
help可以查看帮助
print(help([].extend))
8.删除
方式1:通用的删除方法,只是单纯地删除,没有返回值,返回None
l = [111,'egon','hello']
del l[1]
print(l)
方式2:l.pop() # 根据索引删除,有返回值,返回删除的那个值
l = [111,'egon','hello']
l.pop() # 不指定索引,默认删除最后一个
res = l.pop(1) # 会返回删除的那个值
print(res)
print(l)
方式3:l.remove() # 根据元素删除,没有返回值,返回None
l = [111,'egon',[1,2,3],'hello']
l.remove([1,2,3])
print(l)
9.循环
for x in [1,'aaa','bbb']:
print(x)
五:需要掌握的操作
l = [1,'aaa','bbb']
#l.count() # 统计某个元素出现的次数
print(l.count('aaa'))
#l.index() # 打印某个元素的索引,找不到就会报错
print(l.index('aaa'))
#l.clear() # 清空列表
print(l)
#l.reverse() # 不是排序,就是反转列表,将列表倒过来
print(l)
#l.sort() # 排序,可以配合其他使用,默认从小到大排序(升序),要降序,可以加个reverse
l = [11,-3,9,2] # 列表内元素必须是同种类型才可以排序
l.sort(reverse=True) # reverse默认为False,要降序,就reverse = True
print(l)
l = ['a','d','e']
了解:字符串可以比较大小,按照对应的位置的字符一次pk
按照ASCII码表的先后顺序区别字符的大小,越靠后越大
了解:列表也可以比较大小,原理同字符串一样,但是对应位置的元素必须是同种类型
l1 = [1,'abd','asd']
l2 = [10]
l3 = [1,'abd','asd']
print(l1 < l2)
六:补充
1.队列:FIFO,先进先出
入队操作:
l = []
l.append('1')
l.append('2')
l.append('3')
print(l)
出队操作
print(l.pop(0))
print(l.pop(0))
print(l.pop(0))
1
2
3
2.堆栈:LIFO,后进先出
入队操作:
l = []
l.append('1')
l.append('2')
l.append('3')
print(l)
出队操作
print(l.pop())
print(l.pop())
print(l.pop())
3
2
1