python标标准数据类型之列表(List)
列表:索引对应值,索引从0开始,0代表第一个值
作用:按位置记录多个值,并且可以按照索引"取"指定的值
定义:在[]内用逗号分割开多个任意类型的值,一个值称之为一个元素
array=[20,"10.11","是","出生","2020",[9,18],"最后一个值"]
#取出第二个值,因为从0开始
print(array[1])
#取出第六个值,是一个子列表
print(array[5])
#取出子列表中的第一个值
print(array[5][0])
#取出列表中的最后一个值
print(array[-1])
student=[['tony',18,['play','sleep']],['jason',18,['play','sleep']]]
#想要取出第一个学生的第一个爱好
print(student[0][2][0])
类型转换:但凡能够被for循环遍历的类型都可以当作参数传给list()转成列表
res=list('hello')
print(res)
res=list({'k1':111,'k2':2222})
print(res)
内置方法:
需要优先掌握的操作
1.按照索引取值(正向索引和反向存取):即可改可取
l=[1,1111,'hello',124.9]
print(l[0]) #正向取
print(l[-1]) #反向取
l[0]=222 #索引存在则覆盖值
print(l)
l[4]=333 #索引不存在,则报错IndexError: list assignment index out of range
print(l)
2.追加------l.append()----追加到列表结尾
l=[1,1111,'hello',124.9]
l.append(33333)
l.append(44444)
print(l)
3.插入------l.insert()---指定索引值,后面接你要插入的值
l=[1,1111,'hello',124.9]
l.insert(1,"alex") #在指定索引前插入值
print(l)
4.将一个列表传递到另外一个列表结尾--l.extend()
new_l=(1,2,3)
l=[1,1111,'hello',124.9]
# for item in new_l:
# l.append(item)
# print(l)
l.extend(new_l) #代码原理是上面的for循环
print(l)
5.删除
5.1 del---通用删除方式,没有返回值
l=[1,1111,'hello',124.9]
del l[1]
print(l)
5.2 l.pop---根据索引来删除--返回值为被删除的值
l=[1,1111,'hello',124.9]
# l.pop() #不指定索引默认删除最后一个
res=l.pop(0)
print(res)
print(l)
5.3 l.remove()---根据元素来删除---返回值为None
l=[1,1111,'hello',124.9]
l.remove('hello')
print(l)
# print(l)
6.切片(顾头不顾尾,步长)
l=[1,1111,'hello',124.9,"end"]
print(l[0:3])#取出前三个元素
print(l[0:5:2])#正向步长
print(l[0:len(l)])#反向步长
print(l[:])#相当于反拷贝
7.长度-----输出列表的元素个数
l=[1,1111,'hello',124.9,"end"]
print(len(l))
8.成员运算in和not in----返回布尔型
l=[1,1111,'hello',124.9,"end"]
print(1 in l)
print("world" not in l)//返回值为布尔型
9.for循环
l=[1,1111,'hello',124.9,"end"]
for x in l:
print(x)
需要掌握操作
#l.count()-----统计某元素出现的次数
l=[1,1111,'hello',124.9,"end"]
print(l.count(1))
#l.index()-----查找某一元素的索引
l=[1,1111,'hello',124.9,"end"]
print(l.index("hello"))
#l.clear()-----删除整个列表
l=[1,1111,'hello',124.9,"end"]
l.clear()
print()
#l.reverse()----把整个列表倒置
l=[1,1111,'hello',124.9,"end"]
l.reverse()
print(l)
#l.sort()----排序----列表内元素必须是同种类型才可以比较
#对数字排序
l=[0,-1,-10,10,20,9]
l.sort(reverse=False)#默认()为reverse=False,默认从小到大排,称之为升序
print(l)
l.sort(reverse=True)#从大往小排,为降序
print(l)
#对字符串比较
l=['a','cz','x','e']
l.sort()
print(l)
#字符串可以比大小,按照ASCII表的先后顺序区别字符的大小
#在ASCII表中,排最后的字符最大,排最前的最小
#比较字符,按照各位置依次比较。
#对列表比大小--按照位置依次比较,如果不是同种类型的数据,直接报错
l1=[1,'abc',1.0]
l2=[10]
print(l1>l2)