4.列表 元组 range
列表的增删改查
l1 =[1,'fsjfk',[1,2,3],(2,3,4),{'name':'age'}]
print (l1)
索引,切片
l2 =['dkl','fref','rferf','fggrg','fddk']
print(l2[0],type(l2[0]))
print (l2[0:3:2]) 切片隔开切
print (l2[0:4])
#索引出来的是字符串类型
dkl <class 'str'>
增
l1 = ['dsf','rgeg','rgerg','ergerg','hhhhh'] l1.append('小黑') l1.append([1,2,3]) l1.append([1,2,3]) print (l1) 添加在列表的最后
l1 = ['lyy','shi','da','shuai','bi','1','2'] '''while True : username = input ('>>>/Q或q退出') if username.upper() == Q : break l1.append(username) print (l1)'''
插入 insert
l1 = ['小新','jkdjs','efef','efe',[99,'lyy','hht'],2] l1.insert(3,'egon') print (l1) extend 分开成单个字符插入 l1.extend('黄慧婷') print (l1) ['小新', 'jkdjs', 'efef', 'egon', 'efe', [99, 'lyy', 'hht'], 2] ['小新', 'jkdjs', 'efef', 'egon', 'efe', [99, 'lyy', 'hht'], 2, '黄', '慧', '婷'] l1.extend([1,2,33,4]) ['小新', 'jkdjs', 'efef', 'efe', [99, 'lyy', 'hht'], 2, 1, 2, 33, 4]
删除 pop按位置删除
l1 = ['lyy','shi','da','shuai','bi','1','2'] l1.pop(2) print (l1) ret = l1.pop(1) print (ret)有返回值 print (l1) ['lyy', 'shi', 'shuai', 'bi', '1', '2'] shi ['lyy', 'shuai', 'bi', '1', '2']
remove 按元素删除
ret = l1.remove('da')
print (ret)无返回值
print (l1)
clear 清空列表
'l1 = ['lyy','shi','da','shuai','bi','1','2']
l1.clear() 剩余一个空串
print (l1)
del 功能1删除列表
del l1
print(l1)
功能 2
l1 = ['lyy','shi','da','shuai','bi','1','2'] del l1[0] print (l1) del l1[0:3] print (l1) del l1[1::2] 删除索引为奇数位的元素 print (l1)
改
按照索引去改,直接修改
l1[4] = '男神'
print (l1)
l1 = ['lyy','shi','da','shuai','bi','1','2'] l1 [0:2] = ['黄慧婷','刘洋洋'] print (l1) l1 [0:2] = 'liuyangyang','huanghuiting' print (l1) ['黄慧婷', '刘洋洋', 'da', 'shuai', 'bi', '1', '2'] ['liuyangyang', 'huanghuiting', 'da', 'shuai', 'bi', '1', '2']
查 切片,按索引去查
print (l1[0])
print (l1[0:3])
for循环查
for i in l1 :
print (i)
l2 =[1,3,6,5,4,7,8,9,10]
print (len(l2))
index 通过元素找索引
print (l1.index('shi'))
列表的嵌套
l1 = ['小新','jkdjs','efef','efe',[99,'lyy','hht'],2] #首字母大写 a = l1[1].capitalize() l1[1] = a print (l1[1]) Jkdjs l1 [1] = l1 [1] .capitalize() l1 [1] = 'Jkdjs' print (l1[1]) #直接赋值,有些情况不适合 s = l1 [3].upper() l1 [3] = s print (l1 [3])#全部大写 l1 [4][1] = l1 [4][1].upper() print (l1 [4][1])#列表中的列表中的元素全部大写 l1 [4][0] ='100'
元组
元组就是不可变的列表,元组使用()来表示,元素与元素之间用逗号隔开,数据类型没有限制,只读列表
不可变指的是第一层元素不可变,第二层取决于你的数据类型
元组如果是空
tu = tuple()
元组如果是只有一个
要在tu = (1,)
要在元素后边加逗号
tu = (' 二师兄','大师兄','沙师弟','师父','白龙马')
for el in tu: el ement(元素)
print (i)
打印的是元素
tu = (1,2,'wusir','taibai',[2,3,4,],True) l = [1,2,True] for i in tu: print(i) print(tu[2:]) 1 2 wusir taibai [2, 3, 4] True ('wusir', 'taibai', [2, 3, 4], True)
tu1 = (1,2,'wusir',[1,2,3],(2,3,4),'taibai',True)
tu1[3].pop(1)
print(tu1)按照索引删除 元组内含列表,元组不可变,但是列表可以变(1, 2, 'wusir', [1, 3], (2, 3, 4), 'taibai', True)
元组除了不能改变值,其余和列表的增删改查相似print(len(tu))
print(tu.count(1))
print(tu.index('wusir'))
6
2
2
range
当作:范围列表[],列表中的元素是数字,且可控的有效
数字范围一般与for配合使用
for i in range(1,10) : print (i)输出1,2,3.。。。9 for i in range(1,101) : print (i) 输出1-100 for i in range (0,11): print (i) 0-10 0和逗号可以省略 for i in range(1,10,2) : print (i) 间隔打印,从1开始顾头不顾尾 for i in range(10,0,-1) : print (i) 10 9 8 7...1 for i in range(10,-1,-1): print (i) 想打印0,就得-1,因为切片的规则
将元组中的元组的数据也依次打印出来
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) 判断如果 i 的类型为列表,则打印值为i列表中的数据
lst = ['张无忌',‘张三丰’‘张一山’‘张翠山’‘张学勇’]
for i in lst:
print (i)
这样循环没有索引
for i in range(len(last))
print (i,last[i]) 又有索引,又有元素
浙公网安备 33010602011771号