基础二 day4 日记
1.list增删改查
l1 = [1,'alex',True,[1,2,3],(2,3,4),{'name':'alex'}]
l1 = ['alex',True,'wusir','ritian','taibai',3,2]
#索引 切片
# print(l1[0],type(l1[0]))
# print(l1[1],type(l1[1]))
# print(l1[0:3:2])
# print(l1[0:4])
增 append
l1 = ['alex',True,'wusir','ritian','taibai',3,2] #增 append l1.append('小黑') #添加字符串 l1.append([1,2,3])#添加列表 print(l1)
小练习 在列表中添加元素,遇到"Q"或"q"退出,最后打印列表
l1 = ['alex',True,'wusir','ritian','taibai',3,2] while True: username = input('>>>/Q或q退出') # 用户交互 if username.upper() == 'Q':break #判断跳出循环条件 l1.append(username) #将新元素添加到列表 print(l1)
插入 .insert 通过索引来添加元素,这个位置是可以自己决定的.没有返回值
l1 = ['alex',True,'wusir','ritian','taibai',3,2] #insert 插入 l1.insert(2,'egon') #在索引为2的位置添加个元素 print(l1)
xpend 迭代的添加,把字符串或列表拆开添加,,没有返回值
l1 = ['alex',True,'wusir','ritian','taibai',3,2] # extend l1.extend('太白金星') #添加元素 print(l1.extend([2,3,4])) #添加数据 并输出返回值 print(l1)
结果 :
删除
.pop删除 通过索引删除元素, 默认删除最后一个元素,并且有返回值.
l1 = ['alex',True,'wusir','ritian','taibai',3,2] #删除pop l1.pop() #默认删除最后一个 ret = l1.pop(4) #删除索引为4的数据 print(ret) # 有返回值 print(l1)
结果:
l1 = ['alex',True,'wusir','ritian','taibai',3,2] # remove 按照元素去删除 ret = l1.remove('alex') print(ret) print(l1)
.remove删除,按照元素删除,没有返回值.
结果:
清空列表 .clear 但是列表还是存在的,
l1 = ['alex',True,'wusir','ritian','taibai',3,2] #clear 清空列表 l1.clear() print(l1)
结果:
删除列表.del方法,列表被彻底删除.还可以用索引和切片删除.
l1 = ['alex',True,'wusir','ritian','taibai',3,2] # del 功能1 删除列表 del l1 print(l1)
结果:
l1 = ['alex',True,'wusir',3,2,4,5,'ritian','taibai',3,2] del l1[0] #删除第一个元素 print(l1) del l1[0:3] #在第一次基础上删除索引为0到2的元素 print(l1) del l1[1::2] #在第二次基础上,从索引为1的元素到最后按步长为2删除 print(l1) 复制代码
.del 索引,切片删除
改 按照索引和切片去改:
l1 = ['alex','taibai',True,'wusir','ritian',3,2,True,] # #改 # 按照索引去改 l1[0] = '男神' #用"男神"替换索引为0的元素 print(l1) # 按照切片去改 l1[0:2] = ['屌丝','alex'] #列表添加元素 print(l1) l1[0:2] = '化工哥,树脂' #字符串遍历添加 print(l1) l1[0:2] = ('化工哥,树脂') #元祖遍历添加 print(l1) l1[0:2] = {"化工哥":"树脂","guu":82} #字典添加键值,并且无序 print(l1)
结果:
查 用索引查 和用for循环查
l1 = ['alex','taibai',True,'wusir','ritian',3,2,True,] # 查 按切片,按索引去查 print(l1[0]) #输出索引为0的数据 print(l1[0:3]) #输出索引在0到2的数据 l1 = ['alex','taibai',True,'wusir','ritian',3,2,True,] for i in l1: # for 循环查print(i)
结果:
5. 长度 和 查找数据出现次数 补充列表中True也表示1
l1= [1,3,6,8,7,4,True,9,10] # len 长度 数据个数 print(len(l1)) # count 出现次数 ret = l1.count(True) print(ret)
结果:
6. 通过元素找索引,找不到会报错
l1= [1,3,6,8,7,4,True,9,10] # index 通过元素找索引 print(l1.index(8)) #找"8"这个元素的索引 print(l1.index(0))
结果:
7. 如果列表中数据是纯数字的话还可以进行排序,sort 从小到大 ,sort(reverse) 从大到小
l1= [1,3,6,6,8,7,4,0,9,10] # sort 从小到大 l1.sort() print(l1) #sort(reverse) 从大到小 l1.sort(reverse=True) print(l1)
结果:
8. 列表内元素反转,
l2=["a",1,5,"p"] #倒叙 l2.reverse() print(l2)
结果:
9. 列表的嵌套 能实现增删改查
l1 = ['小新','egon','wusir',[99,'tiabai','ritian',[1,2,3]],2] a = l1[1].capitalize() l1[1] = a l1[1] = l1[1].capitalize() print(l1)
结果:
查找数据
l1 = ['小新','egon','wusir',[99,'tiabai','ritian',[1,2,3]],2] print(l1[0]) print(l1[3])
结果:
将一个元素字母全变大写
l1 = ['小新','egon','wusir',[99,'tiabai','ritian',[1,2,3]],2] l = l1[3] s = l[1].upper() l1[3][1] = s l1[3][1] = l1[3][1].upper() print(l1)
结果:
10. 元祖 元祖的索引查找和for循环 元祖内的数据是不可更改的,但是嵌套列表或字典时,列表内或字典里的数据能改变
tu = (1,2,'wusir','taibai',[2,3,4,],True) for i in tu: print(i) print(tu[2:])
结果:
11. range当做:范围列表[],列表中的元素是数字,且可控的有效数字范围 一般与for循环连用
从一到十取数据
for i in range(1,10): #[1,2,3,4...9] 顾首不顾尾 print(i)
结果:
for i in range(1,10,2): # [1,3,5,7,9] print(i)
结果:
倒序输出数字
for l in range(3,-2,-1): print(l)
结果:
应用 依次输出例表中元素 如果元素内有列表,把子列表中元素也遍历输出
l1 = [1,2,3,'alex',[2,3,'wusir'],7] for i in l1: if type(i) == list: for j in i: print(j) else: print(i)
结果:
12. Python pass是空语句,是为了保持程序结构的完整性。pass 不做任何事情,一般用做占位语句。
# 输出 Python 的每个字母 for letter in 'Python': if letter == 'h': pass print '这是 pass 块' print '当前字母 :', letter print "Good bye!"
结果: