-
-
str:存储少量数据 ,如:'123 True 太白'
-
str:无论对其切片还是进行任何其他操作,获取的内容全部都是str的类型。存储的数据类型单一
-
-
what:list
-
l1 = [100,'alex',True,[1,2,3]] 承载任意数据类型,存储大量的数据
-
python常用的容器型数据类型。list 列表,其他语言:Java:数组
-
列表是有序的,可索引、切片(步长)
-
li = [100, '太白', True, [1, 2, 3]]
# 索引
print(li[0], type(li[0])) #100 <class 'int'>
print(li[1], type(li[1])) #太白 <class 'str'>
print(li[-1]) #[1, 2, 3] <class 'list'>
# 切片 (顾头不顾腚)
print(li[:2]) #[100, '太白']
#相关练习题:
li = [1, 3, 2, "a", 4, "b", 5,"c"]
通过对li列表的切片形成新的列表l1,l1 = [1,3,2]
l1 = li [:3]
print(l1)
通过对li列表的切片形成新的列表l2,l2 = ["a",4,"b"]
l2 = li [3:-2]
print(l2)
通过对li列表的切片形成新的列表l4,l4 = [3,"a","b"]
l4 = li [1:-2:2]
print(l4)
通过对li列表的切片形成新的列表l6,l6 = ["b","a",3]
l6 = li [-3:0:-2]
print(l6)
- 方式二:
l1 = list()
print(l1)
#结果:[],空列表的创建
l1 = list('fhdsjkafsdafhsdfhsdaf') #将内容中的每个元素迭代放在列表当中
print(l1)
#结果:['f', 'h', 'd', 's', 'j', 'k', 'a', 'f', 's', 'd', 'a', 'f', 'h', 's', 'd', 'f', 'h', 's', 'd', 'a', 'f']
- 方式三:列表推导式,后面讲
l1 = ['太白','女神','吴老师','肖帮主','yan']
(1)增
l1 = ['太白','女神','吴老师','肖帮主','yan']
l1.append('xx')
print(l1)
#结果['太白', '女神', '吴老师', '肖帮主', 'yan', 'xx']
#注意:不能打印 print(l1.append('xx')),是没有意义的
比如:
l1 = ['太白','女神','吴老师','肖帮主','yan']
l1.insert(2,'wusir')
print(l1)
#结果['太白', '女神', 'wusir', '吴老师', '肖帮主', 'yan']
l1 = ['太白','女神','吴老师','肖帮主','yan']
l1.extend('abcd')
l1.extend(['alex',])
l1.extend(['alex', 1, 3])
print(l1)
#结果['太白', '女神', '吴老师', '肖帮主', 'yan', 'a', 'b', 'c', 'd', 'alex', 'alex', 1, 3]
(2)删:
- pop :按照索引位置删除(返回的是删除的元素),默认删除最后一个
l1 = ['太白','女神','吴老师','肖帮主','yan']
l1.pop(-2) # 按照索引删除
print(l1)
#结果['太白', '女神', '吴老师', 'yan']
l1 = ['太白','女神','吴老师','肖帮主','yan']
print(l1.pop(-2)) #返回的是删除的元素
#结果 肖帮主
l1.pop() # 默认删除最后一个
print(l1)
#结果['太白', '女神', '吴老师', '肖帮主']
- remove :按指定元素删除,如果有重名元素,默认从左数第一个删除
使用方法:
比如:
l1 = ['太白','女神','吴老师','肖帮主','yan']
l1.remove('吴老师')
print(l1)
#结果['太白', '女神', '肖帮主', 'yan']
#如果有重名元素
l1 = ['吴老师','太白','女神','吴老师','肖帮主','yan']
l1.remove('吴老师')
print(l1)
#结果['太白', '女神', '吴老师', '肖帮主', 'yan']
- clear :清空元素(了解)
使用方法:l1.clear()
比如:
l1 = ['吴老师','太白','女神','吴老师','肖帮主','yan']
l1.clear() # 清空
print(l1)
#结果[]
- del:删除
(1)按索引删除:del l1[位置]
比如:
l1 = ['吴老师','太白','女神','吴老师','肖帮主','yan']
del l1[-1]
print(l1)
#结果['吴老师', '太白', '女神', '吴老师', '肖帮主']
(2)按切片(步长)
比如:
l1 = ['吴老师','太白','女神','吴老师','肖帮主','yan']
del l1[::2]
print(l1)
#结果['太白', '吴老师', 'yan']
(3)改:
- 按索引改
l1 = ['吴老师','太白','女神','吴老师','肖帮主','yan']
l1[0] = '男神'
print(l1)
#结果['男神', '太白', '女神', '吴老师', '肖帮主', 'yan']
- 按切片(了解)
l1 = ['吴老师','太白','女神','吴老师','肖帮主','yan']
l1[2:] = 'fsdafs'
print(l1)
#结果['吴老师', '太白', 'f', 's', 'd', 'a', 'f', 's']
- 按切片(步长)(了解)
l1 = ['吴老师','太白','女神','吴老师','肖帮主','yan']
l1[::2] = 'abc' #改的部分要和补充的数量需要对应
print(l1)
#结果['a', '太白', 'b', '吴老师', 'c', 'yan']
l1[::2] = 'abcd'
print(l1) #数量不对应,会报错
(4)查:
- 按索引、按切片(步长)
- for 循环
比如:
l1 = ['吴老师','太白','女神','吴老师','肖帮主','yan']
for i in l1:
print(i)
#结果
吴老师
太白
女神
吴老师
肖帮主
yan
练习:
li = ["alex", "WuSir", "ritian", "barry", "wenzhou"]
# 计算列表的长度并输出
count = 0
for i in li:
count += 1
print(count)
# 列表中追加元素"seven",并输出添加后的列表
li.append('seven')
print(li)
# 请在列表的第1个位置插入元素"Tony",并输出添加后的列表
li.insert(0,'Tony')
print(li)
# 请修改列表第2个位置的元素为"Kelly",并输出修改后的列表
li[1] = "Kelly"
print(li)
# 请将列表l2=[1,"a",3,4,"heart"]的每一个元素添加到列表li中,一行代码实现,不允许循环添加。
li.extend([1,"a",3,4,"heart"])
print(li)
-
count
-
index:通过元素找索引
-
sort(**):
-
默认从小到大排序;
-
l1.sort(reverse = True) 从大到小
-
l1.reverse() 反转
-
-
列表可相加
列表可与数字相乘
# count
# index
l1 = ['太白', '123', '女神', '大壮']
print(l1.count('太白')) #1
print(l1.index('123')) #1
# sort **
#默认从小到大
l1 = [5, 4, 3, 7, 8, 6, 1, 9]
l1.sort()
print(l1)
#[1, 3, 4, 5, 6, 7, 8, 9]
#从大到小
l1 = [5, 4, 3, 7, 8, 6, 1, 9]
l1.sort(reverse=True)
print(l1)
#[9, 8, 7, 6, 5, 4, 3, 1]
l1 = [5, 4, 3, 7, 8, 6, 1, 9]
l1.reverse()
print(l1)
#反转
#[9, 1, 6, 8, 7, 3, 4, 5]
# 列表可以相加
l1 = [1, 2, 3]
l2 = [1, 2, 3, '太白', '123', '女神']
print(l1 + l2)
#[1, 2, 3, 1, 2, 3, '太白', '123', '女神']
#列表与数字相乘
l1 = [1, 'daf', 3]
l2 = l1*3
print(l2)
#[1, 'daf', 3, 1, 'daf', 3, 1, 'daf', 3]
l1 = [1, 2, 'taibai', [1, 'alex', 3,]]
# 1, 将l1中的'taibai'变成大写并放回原处。
l1[2] = 'TAIBAI'
l1[2] = l1[2].upper() #第二种方法
print(l1)
# 2,给小列表[1,'alex',3,]追加一个元素,'老男孩教育'。
l1[-1].append('老男孩教育')
print(l1)
# 3,将列表中的'alex'通过字符串拼接的方式在列表中变成'alexsb'
a = l1[-1]
a[1] = a[1]+ 'sb '
print(l1)
l1[-1][1] = l1[-1][1] + 'sb' #第二种方法
print(l1)
l1[-1][1] += 'sb' #第三种方法
print(l1)