#列表
列表是python中的基础数据类型之一,其他语言中也有类似于列表的数据类型,比如js中叫数组,他是以[]括起来,每个元素以逗号隔开,而且他里面可以存放各种数据类型比如:
li = [‘alex’,123,Ture,(1,2,3,’wusir’),[1,2,3,’小明’,],{‘name’:’alex’}]
列表相比于字符串,不仅可以储存不同的数据类型,而且可以储存大量数据,32位python的限制是 536870912 个元素,64位python的限制是 1152921504606846975 个元素。而且列表是有序的,有索引值,可切片,方便取值。
# li = ['alex',[1,2,3],'wusir','egon','女神','taibai'] # l1 = li[0] # print(l1) # l2 = li[1] # print(l2) # l3 = li[0:3] # print(l3)
#增加 append insert # li.append('日天') #增加到最后 # li.append(1) # print(li) # while 1: # username = input('>>>') # if username.strip().upper() == 'Q': # break # else: # li.append(username) # print(li) # li.insert(4,'春哥') #按照索引去增加 # print(li) # li.extend('二哥') ##迭代的去增 # li.extend([1,2,3]) # print(li)
#删 li = ['taibai','alex','wusir','egon','女神',] # name = li.pop(1) #按照位置删除有返回值 # name = li.pop() # 默认删除最后一个 # print(name,li) # li.remove('taibai') # 按元素去删除 # print(li) # li.clear() # 清空 # print(li) # del li # del li[0:2] #按照位置去删除,也可切片删除没有返回值。 # print(li)
li = ['taibai','alex','wusir','egon','女神',] #改 # li[0] = '男兽' # li[0] = [1,2,3] #切片 # li[0:3] = '云姐plfdslkmgdfjglk' # li[0:3] = [1,2,3,'春哥','咸鱼哥'] # print(li)
#公共方法:
li = ['taibai','alex','wusir','egon','女神',] # l = len(li) # print(l) count(数)(方法统计某个元素在列表中出现的次数) # num = li.count('taibai') # print(num) index(方法用于从列表中找出某个值第一个匹配项的索引位置) # 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] = name # li[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)
#元祖
#元祖 只读列表,可循环查询,可切片。 #儿子不能改,孙子可能可以改。 # tu = (1,2,3,'alex',[2,3,4,'taibai'],'egon') # # print(tu[3]) # # print(tu[0:4]) # # for i in tu: # # print(i) # tu[4][3]=tu[4][3].upper() # print(tu) # tu[4].append('sb') # print(tu)
# s = 'alex' # s1 = 'sb'.join(s) # print(s1) #列表转化成字符串 list -----> str join # li = ['taibai','alex','wusir','egon','女神',] # s = '++++'.join(li) #str ----->list split() # print(s)
range:指定范围,生成指定数字。
# for i in range(3,10): # 步长 # print(i) # for i in range(10): # print(i) # for i in range(0,10,3): # print(i) # for i in range(10,0,-2): # 反向步长 # print(i) # for i in range(10,-1,-2): # print(i)
enumerate:枚举,对于一个可迭代的(iterable)/可遍历的对象(如列表、字符串),enumerate将其组成一个索引序列,利用它可以同时获得索引和值。
li = ['alex','银角','女神','egon','太白'] for i in enumerate(li): print(i) for index,name in enumerate(li,1): print(index,name) for index, name in enumerate(li, 100): # 起始位置默认是0,可更改 print(index, name)
for循环:
li = [1,2,3,5,'alex',[2,3,4,5,'taibai'],'afds'] # for i in li: # if type(i) == list: # for k in i: # print(k) # else:print(i) for i in range(len(li)): if type(li[i]) == list: for j in li[i]: print(j) else:print(li[i])
练习题:
# 1、查找列表li中的元素,移除每个元素的空格, # 并找出以’A’或者’a’开头,并以’c’结尾的所有元素, # 并添加到一个新列表中,最后循环打印这个新列表。 # li = [‘taibai ’,’alexC’,’AbC ’,’egon’,’ Ritian’,’ Wusir’,’ aqc’] li = ['taibai ','alexC','AbC ','egon',' Ritian',' Wusir',' aqc'] b=[] # for i in li: # s=i.strip() # if (s.startswith("A")or s.startswith("a"))and s.endswith("c"): # b.append(s) # for x in b: # print(x) # for i in li: # s=i.strip() # if s[0].upper() == 'A' and s[-1] == 'c': # b.append(s) # for x in b: # print(x) 2、开发敏感词语过滤程序,提示用户输入评论内容,如果用户输入的内容中包含特殊的字符: # 敏感词列表 li = ["苍老师","东京热",”武藤兰”,”波多野结衣”] # 则将用户输入的内容中的敏感词汇替换成***,并添加到一个列表中; # 如果用户输入的内容没有敏感词汇,则直接添加到上述的列表中。 # li=["苍老师","东京热","武藤兰","波多野结衣"] # new_li= [] # info = input("评论") # for i in li: # if i in info: # l = len(i) # info=info.replace(i,'*'*l) # new_li.append(info) # print(new_li)