day004 基本数据类型(list、tuple)

一、list操作

(一)增删改查

 1 li = ['alex','wusir','egon','女神','taibai']
 2 
 3 # 增加 append、insert、extend
 4 li.append('日天')
 5 li.append(1)
 6 print(li)
 7 
 8 li.insert(4,'春哥')
 9 print(li)
10 li.extend('二哥')
11 li.extend([1,2,3])
12 print(li)
13 
14 # 删 pop、remove、clear、del
15 li = ['taibai','alex','wusir','egon','女神',]
16 name = li.pop(1)  # 返回值
17 name = li.pop()  # 默认删除最后一个
18 print(name,li)
19 
20 li.remove('taibai')  # 按元素去删除
21 print(li)
22 
23 li.clear()  # 清空
24 print(li)
25 
26 # del li
27 # del li[0:2]  # 切片去删除
28 # print(li)
29 
30 #
31 # li[0] = '男兽'
32 # li[0] = [1,2,3]
33 #切片
34 # li[0:3] = '云姐plfdslkmgdfjglk'
35 # li[0:3] = [1,2,3,'春哥','咸鱼哥']
36 # print(li)
37 
38 #
39 # for i in li:
40 #     print(i)
41 # print(li[0:2])
增删改查

(二)切片

 1 li = ['alex',[1,2,3],'wusir','egon','女神','taibai']
 2 
 3 l1 = li[0]
 4 print(l1)
 5 
 6 l2 = li[1]
 7 print(l2)
 8 
 9 l3 = li[0:3]
10 print(l3)
切片

(三)其他方法

 1 公共方法:
 2 l = len(li)
 3 print(l)
 4 
 5 num = li.count('taibai')
 6 print(num)
 7 
 8 print(li.index('wusir'))
 9 
10 li = [1,5,4,7,6,2,3]
11 # 正向排序
12 li.sort()
13 print(li)
14 
15 # 反向排序
16 li.sort(reverse=True)
17 print(li)
18 
19 # 反转
20 li.reverse()
21 print(li)
其他方法

(四)列表的循环

1 li = ['alex',[1,2,3],'wusir','egon','女神','taibai']
2 
3 for i in li:
4     print(li)
列表循环

(五)列表的嵌套

 1 li = ['taibai','武藤兰','苑昊',['alex','egon',89],23]
 2 
 3 print(li[1][1])
 4 
 5 name = li[0].capitalize()
 6 print(name)
 7 
 8 li[0] = name
 9 li[0] = li[0].capitalize()
10 
11 li[2] = '苑日天'
12 print(li[2].replace('','ritian'))
13 
14 li[2] = li[2].replace('','ritian')
15 li[3][0] = li[3][0].upper()
16 print(li)
列表嵌套

二、tuple操作  

tuple(又称只读列表)操作。只可循环查询,可切片。

ps:儿子不能改,孙子可能可以改。

 

 1 tu = (1,2,3,'alex',[2,3,4,'taibai'],'egon')
 2 print(tu[3])
 3 print(tu[0:4])
 4 
 5 for i in tu:
 6     print(i)
 7 
 8 tu[4][3]=tu[4][3].upper()
 9 print(tu)
10 
11 tu[4].append('sb')
12 print(tu)
元组操作

 

三、作业

1、lis = [2,3,'k',['qwe',20,['k',['tt',3,'1']],89],'ab','adv']

1)将列表lis中的’tt’变成大写(用两种方式)。
2)将列表中的数字3变成字符串’100’(用两种方式)。
3)将列表中的字符串’1’变成数字101(用两种方式)

 1 lis = [2,3,'k',['qwe',20,['k',['tt',3,'1']],89],'ab','adv']
 2 
 3 1)将列表lis中的’tt’变成大写(用两种方式)。
 4 lis[3][2][1][0] = "TT"
 5 lis[3][2][1][0] = lis[3][2][1][0].upper()
 6 
 7 
 8 2)将列表中的数字3变成字符串’100’(用两种方式)。
 9 lis[1] = '100'
10 lis[3][2][1][1] = '100'
11 
12 lis[3][2][1].remove(3)
13 lis[3][2][1].insert(1,'100')
14 print(lis)
15 
16 
17 
18 # 3)将列表中的字符串’1’变成数字101(用两种方式)
19 # lis[3][2][1][2] = 101
20 # lis[3][2][1][2] = int(lis[3][2][1][2].replace('1','101'))
21 
22 lis[3][2][1][2] = int('10'+lis[3][2][1][2])
23 lis[3][2][1][2] = int(lis[3][2][1][2]) + 100
answer

  2、查找列表li中的元素,移除每个元素的空格并找出以’A’或者’a’开头,并以’c’结尾的所有元素,并添加到一个新列表中,最后循环打印这个新列表。li = [‘taibai ’,’alexC’,’AbC ’,’egon’,’ Ritian’,’ Wusir’,’ aqc’]

 1 li = ['taibai ','alexC','AbC ','egon',' Ritian',' Wusir','  aqc']
 2 b=[]
 3 # pose01
 4 for i in li:
 5     s=i.strip()
 6         if (s.startswith("A")or s.startswith("a"))and s.endswith("c"):
 7             b.append(s)
 8 
 9 for x in b:
10     print(x)
11 
12 
13 # pose02
14 for i in li:
15     s=i.strip()
16         if s[0].upper() == 'A' and s[-1] == 'c':
17             b.append(s)
18 
19 for x in b:
20     print(x)                        
answer

  3、开发敏感词语过滤程序,提示用户输入评论内容,

    敏感词列表 li = ["苍老师","东京热",”武藤兰”,”波多野结衣”]

    如果用户输入的内容中包含特殊的字符:,则将用户输入的内容中的敏感词汇替换成***,并添加到一个列表中;

    如果用户输入的内容没有敏感词汇,则直接添加到上述的列表中。

 1 li=["苍老师","东京热","武藤兰","波多野结衣"]
 2 new_li= []
 3 
 4 info = input("评论").srip()
 5 for i in li:
 6     if i in info:
 7         l = len(i)
 8         info=info.replace(i,'*'*l)
 9 
10 new_li.append(info)
11 print(new_li)        
answer

 

posted @ 2018-10-07 16:50  wangspy  阅读(58)  评论(0)    收藏  举报