python的列表的增删改查,元组的嵌套,及for循环,range的使用
列表
列表是一个可变的数据类型,有[]表示,每一项元素用逗号隔开,里面什么都能装,能装对象的对象,可以装大量的数据
列表的索引和切片
列表和字符串一样,也有索引和切片,区别就是字符串切出来的是字符串,列表切出来的事列表.
下标从0开始 [起始位置:结束位置:步长]
列表的增删改查
1.增加
- append() 追加,在屁股后面增加
lst = ["周杰伦","王力宏","许家印"] lst.append("马化腾") #在屁股后面添加,在原有基础上进行操作 print(lst) >>> ["周杰伦","王力宏","许家印","马化腾"]
- insert(index,元素) 在index位置添加元素
lst = ["周杰伦","王力宏","许家印"] lst.insert(2,'林俊杰') print(lst) >>> ['周杰伦', '王力宏', '林俊杰', '许家印']
- extend() 迭代添加
lst = ["周杰伦","王力宏","许家印"] lst.extend("周润发")#迭代添加,元素添加 print(lst) >>> ["周杰伦","王力宏","许家印","周","润,"发"] lst.extend(["周润发"]) >>> ["周杰伦","王力宏","许家印","周润发"]
2. 删除
-
pop(index) 按照位置删除元素
lst = ["周杰伦","王力宏","许家印"] data = lst.pop(2)#返回被删除数据,索引位置删除 print(data) >>> 许家印 print(lst) >>> 许家印 ["周杰伦","王力宏"]
-
remove(元素) 直接删除元素,若删除一个列表不存在的元素,则会报错.
lst = ["周杰伦","王力宏","许家印"] lst.remove("许家印")#删除元素,不会返回删除数据 print(lst) >>>["周杰伦","王力宏"]
-
del 切片删除.
lst = ["周杰伦","王力宏","许家印"] del lst[起始位置:结束位置:步长] #切片删除 del lst[1:3] >>> 切掉列表中索引1到3位置的元素 print(lst) >>> ["周杰伦"]
-
clear() 清空列表 清除
3. 修改
-
索引修改
lst = ["劲舞团","qq炫舞","QQ华夏","魔兽世界","反恐精英","地下城与勇士"] lst[2] = "添加内容" print(lst) >>> ["劲舞团","qq炫舞","添加内容","QQ华夏","魔兽世界","反恐精英","地下城与勇士"]
-
切片修改
lst = ["劲舞团","qq炫舞","QQ华夏","魔兽世界","反恐精英","地下城与勇士"] lst[1:3] = ["添加内容"] #先删除后添加 print(lst) >>> ["劲舞团","添加内容","魔兽世界","反恐精英","地下城与勇士"] lst = ["劲舞团","qq炫舞","QQ华夏","魔兽世界","反恐精英","地下城与勇士"] lst[1:5:2] = ["魔域","华夏幸福"] #切片修改的时候,如果步长不是1,你要注意考虑元素的个数 print(lst) >>>['劲舞团','魔域','QQ华夏','华夏幸福','反恐精英','地下城与勇士']
4. 查询
lst = ["劲舞团","qq炫舞","QQ华夏","魔兽世界","反恐精英","地下城与勇士"] for el in lst: # element(元素) print(el) >>> 劲舞团 qq炫舞 QQ华夏 魔兽世界 反恐精英 地下城与勇士
el:element(元素)的简写
5. 常用操作
-
sort() 排序 #默认升序
lst = [1,5,8,23,32,11,41,10,22,35] lst.sort() print(lst) >>> [1, 5, 8, 10, 11, 22, 23, 32, 35, 41]
-
reverse=True #降序
lst = [1,5,8,23,32,11,41,10,22,35] lst.sort(reverse = True) print(lst) >>> [41, 35, 32, 23, 22, 11, 10, 8, 5, 1]
-
reverse() 翻转
lst = ["家庭","年龄","爱好","姓名",] lst.reverse() print(lst) >>> ['姓名', '爱好', '年龄', '家庭'
3. len() # 长度
4. 列表的嵌套
降维. 一层一层看
5. 元组
只读列表. 只能看啥也不能干.
使用()表示元组
如果元祖中只有一个元素(元素, )
空元组: tuple()
元祖是一个可迭代对象, 可以使用for循环
tu = (3,) # 元组中如果只有一个元素,需要在括号里元素后写一个逗号 tu = tuple() # 空元组,不能写成 tu = ()
虽然元组是个只读列表,只可以查,可以循环,可以切片,就是不能更改,但元组里面的元素的子元素是可以更改的,增删改查都可以
元组也有count(),index(),len等方法
tu = (3,"很少见啊是","加好时机卡刷","奥斯卡的萨科技和") print(len(tu)) >>> 4 print(tu.index("加好时机卡刷")) >>> 2 #这个元素所在的索引 print(tu.count(3)) >>> 1 # 3在tu中出现的次数为 1
6. range
range(n) 从0到n-1
range(m,n) 从m到n-1
range(m,n,q) 从m到n-1 每q个取1个
综上就是切片
for i in range(1,5): print(i) >>> 1 2 3 4 for i in range(1,100,3): print(i) >>> #输出的结果为1到100所有的奇数
7. 使用range和for循环来获取列表中的索引
-
基本结构
for i in range(len(列表)):
print(i) # i 索引
print([i]) # 列表及元素
for i in range(len(lst)): print(i) >>> 0 ,1,2,3,4,5 # i就是lst的索引 print(lst[i]) #打印出列表中每个元素及其所对应的索引 >>> 0 劲舞团 1 qq炫舞 2 QQ华夏 3 魔兽世界 4 反恐精英 5 地下城与勇士