列表:
Why: 我们现在已经学过的数据类型有:数字,布尔值,字符串,大家都知道数字主要用于计算,bool值主要是条件判断,只有字符串可以用于数据的存储,这些数据类型够用么?对于一门语言来说,肯定是不够用的。就说字符串:
1,字符串只能存储少量的数据,对于大量的数据用字符串操作不方便也不易存储。
2,字符串存储的数据类型太单一,只能是字符串类型。
例如:‘1 True alex’ 像这样的字符串,我如果通过切片或者其他方法将1 True alex 取出来,他也只能是字符串,但是我想要得到数字的1,布尔值的True,必须还要转化,是不是很麻烦。
所以python给咱们也提供了一类数据类型,他能承载多种数据类型,这类数据类型被称作容器类数据类型可以存储大量的数据。列表就属于容器类的数据类型。
What:这个数据类型就是list列表。
列表是python的基础数据类型之一 ,其他编程语言也有类似的数据类型.比如JS中的数 组, java中的数组等等. 它是以[ ]括起来, 每个元素用' , '隔开而且可以存放各种数据类型: 列表是python中的基础数据类型之一,其他语言中也有类似于列表的数据类
型,比如js中叫数组,他是以[]括起来,每个元素以逗号隔开,而且他里面可以存放各种数据类型比如:
li = [‘alex’,123,Ture,(1,2,3,’wusir’),[1,2,3,’小明’,],{‘name’:’alex’}]
列表相比于字符串,不仅可以储存不同的数据类型,而且可以储存大量数据,32位python的限制是 536870912 个元素,64位python的限制是 1152921504606846975 个元素。而且列表是有序的,有索引值,可切片,方便取值。
How:那么这个列表如何使用呢?咱们从这几方面去深入研究这个列表。
li = ['alex',[1,2,3],'wusir','egon','女神','taibai']l1 = li[0]print(l1)l2 = li[1]print(l2)l3 = li[0:3]print(l3)li = ['alex','wusir','egon','女神','taibai']#增加 append insertli.append('日天')li.append(1)print(li)while 1: username = input('>>>') if username.strip().upper() == 'Q': #去掉前后空格 大写转化 只要输入Q就退出循环 break else: li.append(username)print(li)li.insert(4,'春哥')print(li)# extend 迭代着追加,在列表的最后面迭代着追加一组数据li.extend('二哥') #extend 添加的是可迭代的, int不能迭代li.extend([ 1,2,3])print(li)
#删# pop 通过索引删除列表中对应的元素,该方法有返回值,返回值为删除的元素li = ['taibai','alex','wusir','egon','女神',]name = li.pop(1) # 返回值name = li.pop() # 默认删除最后一个print(name,li) #女神 ['alex', 'wusir', 'egon']# remove 通过元素删除列表中该元素li.remove('taibai') # 按元素去删除print(li)# clear 清空列表#li.clear() # 清空print(li) # []#del li#del li[0:2] # 切片去删除print(li)#改li[0] = '男兽'li[0] = [1,2,3]#切片li[0:3] = '云姐plfdslkmgdfjglk'li[0:3] = [1,2,3,'春哥','咸鱼哥']print(li)#查for i in li: print(i)print(li[0:2])#公共方法:l = len(li)print(l)num = li.count('taibai')print(num)print(li.index('wusir'))li = [1,5,4,7,6,2,3]# #正向排序li.sort()print(li)# #反向排序li.sort(reverse=True)print(li)# #反转li.reverse()print(li)#列表的嵌套li = ['taibai','武藤兰','苑昊',['alex','egon',89],23]print(li[1][1])name = li[0].capitalize()print(name)li[0] = nameli[0] = li[0].capitalize()li[2] = '苑日天'print(li[2].replace('昊','ritian'))li[2] = li[2].replace('昊','ritian')li[3][0] = li[3][0].upper()print(li)a = ["q","w","r","t","y"]print(a.index("r"))