day4之列表和元组的基本操作,range
列表:
是我们最以后最常用的数据类型之一,
通过列表可以对数据实现最方便的存储、修改等操作,而且他里面可以存放各种数据类型
例:li = ['alex',23,Ture,(1,2,3,'wusir'),[1,2,3,'小明',],{'name':'alex'}]
列表相比于字符串,不仅可以储存不同的数据类型,而且可以储存大量数据,32位python的限制是 536870912 个元素,64位python的限制是 1152921504606846975 个元素。而且列表是有序的,有索引值,可切片,方便取值。
对列表的操作
1、增:append、insert、extend
li = [1,2,3,4,5,56,4,2,2] li.append('342')#在列表在最后面追加 print(li) li.insert(3,'sf')#通过索引插入 print(li) li.extend('sergw')#可以迭代着追加 print(li) 》》》 [1, 2, 3, 4, 5, 56, 4, 2, 2, '342'] [1, 2, 3, 'sf', 4, 5, 56, 4, 2, 2, '342'] [1, 2, 3, 'sf', 4, 5, 56, 4, 2, 2, '342', 's', 'e', 'r', 'g', 'w']
2、删:pop、del、remove、clear
li = [1,2,3,4,'faef','s','ef','ef',5,56,4,2,2] s1 = li.pop(3)#按索引删除并返回值 print(li) print(s1) del li[1:3] #按照位置去删除,也可切片,也可以删除列表(在内存级别删除),删除没有返回值。 print(li) li.remove('s')#按元素删除 print(li) li.clear() print(li) 》》》 [1, 2, 3, 'faef', 's', 'ef', 'ef', 5, 56, 4, 2, 2] 4 [1, 'faef', 's', 'ef', 'ef', 5, 56, 4, 2, 2] [1, 'faef', 'ef', 'ef', 5, 56, 4, 2, 2] []
3、改:按索引、切片
li = [1,2,3,4,'faef','s','ef','ef',5,56,4,2,2] li[4] = 'abc'#按索引去改 print(li) li[:3] = 'ABCDEF'#按切片去改(相当于迭代着去修改,位置不够自动填充) print(li) 》》》 [1, 2, 3, 4, 'abc', 's', 'ef', 'ef', 5, 56, 4, 2, 2] ['A', 'B', 'C', 'D', 'E', 'F', 4, 'abc', 's', 'ef', 'ef', 5, 56, 4, 2, 2]
4、查:for循环
li = [1,2,3,4,5,56,4,2,2] for i in li: print(i) 》》》 1 2 3 4 5 56 4 2 2
5、测长度len、数数count、翻转reverse、排序sort、倒序reverse = False:
li = [1,2,3,4,5,56,4,2,2] print(len(li))#长度 print(li.count(2)) print(li.index(56,0,8))#索引 li.reverse()#列表翻转 print(li) li.sort()#列表元素排序 print(li) li.sort(reverse = True)#列表元素倒序 print(li) 》》》 9 3 5 [2, 2, 4, 56, 5, 4, 3, 2, 1] [1, 2, 2, 2, 3, 4, 4, 5, 56] [56, 5, 4, 4, 3, 2, 2, 2, 1]
元组:只读列表
range:
简单练习:
1 l1 = ['wusir', 'alex', [99, ' taibai', '98'], 21] 2 # 1,将wusir变成全部的大写。 3 # 2,将‘taibai'变成首字母大写,其他字母小写,放回原处。 4 # 3,用数字的相加将99 变成 字符串的 '100'. 5 # 4,字符串的'98' 变成数字的100. 6 l1[0] = l1[0].upper() 7 print(l1) 8 l1[2][1] = l1[2][1].title() 9 print(l1) 10 l1[2][0] = str(l1[2][0]+1) 11 print(l1) 12 l1[2][2] = int(l1[2][2])+2 13 print(l1)
l1 = [22, 33, 44, 55, 66, 77, 88, 99] for i in l1: print(l1.index(i)) for i in range(len(l1)): print(i) l1 = ['wusir', 'alex', [99, ' taibai', '98'], 21] for i in l1: if type(i) == list: for k in i: print(k) else: print(i)