列表:
列表是python中的基础数据类型之一,其他语言中也有类似于列表的数据类型,比如js中叫数组,他是以[]括起来,每个元素以逗号隔开,而且他里面可以存放各种数据类型比如:
li = [‘hyg’,123,Ture,(1,2,3,’hum’),[1,2,3,’小明’,],{‘name’:’lyy’}]
列表相比于字符串,不仅可以储存不同的数据类型,而且可以储存大量数据,32位python的限制是 536870912 个元素,64位python的限制是 1152921504606846975 个元素。而且列表是有序的,有索引值,可切片,方便取值。
列表中通过索引,切片,切片+步长操作与字符串中一样
列表的增、删、改、查及其他方法
增
# append 追加 li = [1, 3, 'hyg', [2], 5] li.append(9) print(li) #显示:[1, 3, 'hyg', [2], 5, 9] #insert 按索引插入在钙索引前 li = [1, 3, 'hyg', [2], 5] li.insert(1, '宝元') print(li) #显示:[1, '宝元', 3, 'hyg', [2], 5] # extend 迭代着追加 li = [1, 3, 'hyg', [2], 5] li.extend('abc') print(li) #显示:[1, 3, 'hyg', [2], 5, 'a', 'b', 'c'] li = [1, 3, 'hyg', [2], 5] li.extend([111, 222, 333]) print(li) #显示:[1, 3, 'hyg', [2], 5, 111, 222, 333]
删
# pop 按照索引去删除(有返回值) li = [1, 3, 'hyg', [2], 5] ret = li.pop(1) print(ret) # 返回值为删除的元素 print(li) #显示:3 # [1, 'hyg', [2], 5] # remove 按照元素删除(无返回值) li = [1, 3, 'hyg', [2], 5] li.remove('hyg') print(li) #显示:[1, 3, [2], 5] # clear 清空整个列表 li = [1, 3, 'hyg', [2], 5] li.clear() print(li) #显示:[] del # 可以按照索引删除 li = [1, 3, 'hyg', [2], 5] del li[0] print(li) #显示:[3, 'hyg', [2], 5] # 可以按照切片删除(可以加步长) li = [1, 3, 'hyg', [2], 5] del li[:2] del li[3:] del li[1::2] print(li) # 可以在内存级别删除整个列表 li = [1, 3, 'hyg', [2], 5] del li print(li) #这个列表在内存中已经不存在了,运行后会报错。
改
# 按照索引改 li = [1, 3, 'hyg', [2], 5] li[2] = 'lyy' li[-1] = '泰迪' #按照切片(加步长) # 按照切片 li[:2] = 'sbsbsb' li[:4] = [11,22,33,44,55,66,77] # 按照切片 + 步长 一一对应 li[1:3] = 'af' print(l1)
查
# 索引,切片,切片+步长 #for 循环 li = [1, 3, 'hyg', [2], 5] for i in li: print(i)
其他方法
#count(数)(方法统计某个元素在列表中出现的次数) a = ['q', 'w', 'q', 'w', 'o', 'p'] print(a.count('q')) #index(方法用于从列表中找出某个值第一个匹配项的索引位置) a = ['q', 'w', 'q', 'w', 'o', 'p'] print(a.indext('w')) #sort (方法用于在原位置对列表进行排序) #reverse (方法将列表中的元素反向存放) a = [2,1,3,4,5] a.sort()#从小到大 他没有返回值,所以只能打印a a.sort(reverse=True)#从大到小 a.reverse()#反转,他也没有返回值,所以只能打印a
列表的嵌套
#l3 = ['alex', 'wusir', ['taibai', 99, 'ritian'], 20] # 1, 找到alex的e元素。 # s1 = l3[0] # print(s1) # print(s1[2]) # s2 = l3[0][2] # print(s2) # 2, 将wusir变成大写。 # w1 = l3[1] # w2 = w1.upper() # l3[1] = w2 # print(l3) # l3[1] = 'WUSIR' # l3[1] = l3[1].upper() # print(l3) # 3, 给此列表['taibai',99,'ritian'] 追加一个元素,'文周' # print(l3[2]) # l3[2].append('文周') # print(l3) # 4,将 'taibai' 首字母大写。 # print(l3[2][0]) # s1 = l3[2][0].capitalize() # # print(s1) # l3[2][0] = s1 # l3[2][0] = l3[2][0].capitalize() # l3[2].append(666) # l3[2][0].capitalize() # print(l3) # 5,将 99 通过数字加1 的方式变成100,并放回原处。 # l3[2][1] = l3[2][1] + 1 # l3[2][1] += 1 # print(l3)
元组:只读列表,只允许查询,不允许增删改
#tu1 = ('alex', 100, True, [1, 2, 3], {'name':'太白'},(22, 33)) # 索引,切片,切片+步长 # print(tu1[0]) # print(tu1[:3]) # # for 循环 # for i in tu1: # print(i) # index,len,count # 应用场景: 一些非常重要的数据,不允许所有人修改的,放在元组中。 # tu1[3].append(666) # tu1.append(666) 错的 # 元组 儿子不能改,孙子可能可以改。 # print(tu1)
range() 自定制的 数字范围的 可迭代对象类比成列表
# range(1,101) # print(range(1,101)) # range() 一般和for 循环结合使用。 # for i in range(1,11): # print(i)
来源:https://www.cnblogs.com/hyg19910701/p/9508056.html