列表
list:基础数据类型之一,可以索引,切片,步长,切片+步长可以增删改查,可迭代,可嵌套字典,元组,列表
一、索引,切片,步长
list01 = [1,2,3,'eric','west']
1.索引
fz = list01[0]
print(fz)
result:1
反向查找
print(list01.index(1))
result:2
2.切片
fz = list01[:3]
result:[1,2,3]
fz = list01[1:4]
result:[2,3,'eric']
3.步长
fz = list01[::2]
result:[1,3,'west']
fz = list01[1:4:2]
result:[2,'eric']
fz = list01[-1:1:-2]
result:['west',3]
二、增删改查
1.增
append:再尾部增加单个元素
list01.append('xixi')
result:[1, 2, 3, 'eric', 'west', 'xixi']
extend:迭代增加
list01.extend('xixi')
result:[1, 2, 3, 'eric', 'west', 'x', 'i', 'x', 'i']
list01.extend(['xixi','love'])
result:[1, 2, 3, 'eric', 'west', 'xixi', 'love']
insert:指定位置增加元素
list.insert(1,'abby')
2.删
pop:按照索引删除元素,并且有返回值
list01.pop(1)
result:[1, 3, 'eric', 'west']
remove:按照元素删除
list01.remove('eric')
result:[1,2,3,'west']
clear:清空
list01.clear()
result:[]
del:可以按照索引删除,切片删除,内存级别删除整个列表
del list01[0]
result:[2,3,'eric','west']
del list01[3:]
result:[1,2,3]
del list01
result:name 'list01' is not defined
3.改
按索引改
list[2]='abby'
result:[1, 2, 'abby', 'eric', 'west']
按切片改
list[:2]='xi'
result:['x', 'i', 3, 'eric', 'west']
按切片+步长一一对应
list01[:3:2]='xi'
result:['x', 2, 'i', 'eric', 'west']
4.查
for循环
for i in list01:
print(i)
三、其他方法
查询总个数:print(len(list01))
查询某个元素出现次数:print(list01.count('eric'))
排序:
sort(从小到大):
list02 = [2,3,4,9,8,5,6,7]
list02.sort()
print(list02)
result:[2, 3, 4, 5, 6, 7, 8, 9]
sort(从大到小):
list02.sort(reverse=True)
print(list02)
result:[9, 8, 7, 6, 5, 4, 3, 2]
反转:
list02.reverse()
print(list02)
result:[7, 6, 5, 8, 9, 4, 3, 2]
列表与列表可以相加
l1 = [1,2,3]
l2 = ['alex','wusir']
l3 = l1 + l2
print(l3)
result:[1, 2, 3, 'alex', 'wusir']
应用演示:
l1 = [11, 22, 33, 44, 55, 66, 77, 88]
将列表中索引为奇数的元素,全部删除
方法一:切片+步长删除
del l1[1::2]
print(l1)
result:[11, 33, 55, 77]
方法二:
for i in range(len(l1)):
print(l1)
print(i)
if i % 2 == 1:
l1.pop(i)
print(l1)
print(i)
print(l1)
result:pop index out of range
在循环一个列表时,如果对列表中的某些元素进行删除,那么此元素后面的所有元素就会向前进一位,他们的索引就会发生变化。
所以,在循环一个列表时,最好不要对此列表进行改变大小(增删)的操作。
元组
tuple:基础数据类型之一,可以索引,切片,步长,切片+步长,只可以查,可迭代,可嵌套字典,元组,列表,嵌套列表字典可以修改
list01 = (1,2,3,'eric','west')
一、索引,切片,步长
1.索引
print(list01[0])
result:1
反向查找:
print(list01.index(1))
result:0
2.切片
fz=list01[1:3]
result:(2,3)
3.切片+步长
fz=list01[1::2]
result:(2,'eric')
二、查
for循环
for i in list01:
print(i)
其他:
字符串:
upper lower 变大写,变小写
strip:默认去除去除首位的空格,换行符,制表符,lstrip()去首部,rstrip()去尾部,strip(元素)可指定去除元素
startswith endswith 判断以...开头,结尾 一般用于if
find 通过元素找索引,找不到返回-1
replace 替换 (old,new,次数)
captilize() 首字母大写,其余的变成小写。
center():居中可设置填充物。
swapcase():大小写反转
isalnum(): 全部由字母或数字组成。
isalpha():全部由字母组成
isdigit(): 判断字符串是否全部有数字组成
len(): 统计字符串的字符的个数
title: 每个非字母隔开的内容的首字母大写
split:
'alex wusir'.split() ---> ['alex','wusir']:可以指定分隔符。
' alex wusir'.split('') ---> ['','alex','wusir']:可以指定分割次数。
join:'_'.join(interable)
如果元组中只有一个数据,且没有逗号,则该 '元组' 与里面的数据的数据类型相同。
tu1 = (1,)
tu2 = ('alex')
tu3 = ([1,2,3],)
print(tu1,type(tu1))
print(tu2,type(tu2))
print(tu3,type(tu3))
result:
(1,)
alex
([1, 2, 3],)