基本数据类型之列表,3.类型转换但凡可以


1.列表的定义

1.采用变量名=[]的方式定义
2.采用变量名=list()的方式定义

2.列表的作用

列表是用来存多个数据,并且这些数据是需要按位置存放的,后面我们可以通过索引取出列表里的数据。

3.类型转换

但凡可以被for循环遍历的类型(可迭代对象)都可以当做参数传给list()转成列表

4.列表的内置方法

# 1.按照索引取改值(正向取改+反向取改)
# 列表的索引正向从0开始,反向从-1开始
l = [111,222,'zhang',[344,977]]
print(l[0])  # 正向取
print(l[-1]) # 反向取
l[0]=333 # 改值
l[3][1]=977 # 列表的嵌套取值

# 注意:
(1)取改的时候,如果该索引不存在则会报错
(2)列表可以嵌套取值。

# 2.往列表里追加值的三种方式
l = [111,222,'zhang']
l.append(333)  # 在列表的末尾追加值
l.insert(1,'yang') # 往对应索引里插入值
l.extend(['d1dw']) # 往列表末尾追加值,该方式和append的不同之处在于extend内部做了一个for循环,可以把传入的可迭代对象循环遍历出来在追加

# 3.删除列表的值
# (1) del 方法,通用的方法,只删除值没有返回值
l = [111,222,'zhang']
del l[0] # 删除索引为0的值
# (2) pop方法,根据索引删除,不传索引默认删最后一个数据
l.pop(2) # 该方法是有返回值的 返回的值就是你删除的元素
# (3) remove方法,根据列表里的元素删除
l.remove('zhang') # 返回none

# 4.列表的切片
l = [111,222,'zhang']
new_l = l[0:1] # 切片语法,默认步长为1
注意:切片默认是左闭后开,所以不包含索引为1的!!!!

new_l=l[:] #切片就是拷贝行为,不改变原列表,相对于浅拷贝;不指定起始和末尾表示从头到尾

# 5.统计列表长度
l = [111,222,'zhang']
print(len(l))

# 6. in not in 运算
print('sss' in [11,22,'zhwe'])

5.列表中需要掌握的操作

l = [11,22,'zhang','aaaa']

print(l.count(11)) # count方法统计元素出现的次数

print(l.index('aaaa'))  # index方法查找元素的索引,从左往右找,找不到报错

l.clear()  # 清空列表

l.reverse() # 把列表倒过来,不是排序

l.sort(reverse=False) # 默认为reverse = False 升序排序 reverse=True 倒序排序(只能针对列表元素是同种类型)

5.队列与堆栈

队列:先进先出(FIFO)
堆栈:后进先出(LIFO)

评论关闭