Python列表及元组操作及练习

 

列表操作:
增: append,insert,extend(可迭代的去添加)
删: 按元素去删除:remove
    按索引去删:pop去除(有返回值),
    del删除(彻底删除),clear清空列表
改: 按索引去改(直接指定值进行修改);按切片去改(可迭代的去修改,添加个数不定)
查: for循环,按索引来查;按切片来查
可迭代: 如果是字符串,则每个拆分为最小的单元;如果是列表,则每个拆分为列表中的一个元素

公共方法:
1.得出长度->len(x)得出列表的长度;x.count(num)
2.找索引->x.index(num)找出num值在列表中的索引

排序:
正序排序->li.sort()   倒序排序->li.sort(reverse=True)
反转->li.reverse()

列表的嵌套:
capitalize()方法可以将第一个字母变大写,其余字母变小写

元组:可以被查询,不可被修改
只读列表,可循环查询,可切片
儿子不能改,孙子可能可以改
tu = (1,2,'aaa',[3,4,5,'www'])

join方法,可迭代对象
s.join(xx)  用s相连接(s在其后面进行连接)  join返回的是一个字符串
可以用join实现无缝拼接

字符串转换为列表,使用split方法
列表转换为字符串,使用join方法

range 方法的使用:
for i in range(10,0,-1):
for i in range(0,10,-1):  (不会报错,什么都没有)

isinstance() 函数来判断一个对象是否是一个已知的类型
循环嵌套列表的遍历:

li = [1,2,3,4,'aaa',[2,3,5]]
for i in li:
  if isinstance(i,list): #查看list元素是否是list
    for j in i:  #遍历嵌套的list
      print (j)
  else :
    print (i)

练习题:

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

1)将列表lis中的’tt’变成大写(用两种方式):
lis[3][2][1][0] = "TT"
print(lis)
lis[3][2][1][0] = lis[3][2][1][0].upper()
print(lis2)

 2)将列表中的数字3变成字符串’100’(用两种方式):

lis.remove(3)
lis.insert(1,'100')
print(lis)

3)将列表中的字符串’1’变成数字101(用两种方式)

lis[3][2][1][2] = 101
print(lis)
lis[3][2][1][2] = int(lis[3][2][1][2].replace('1','101'))
print(lis)
print(lis[3][2][1][2])  # '1'
lis[3][2][1][2] = int('10'+lis[3][2][1][2])
lis[3][2][1][2] = int(lis[3][2][1][2]) + 100
li = [1,2,3]
li[2] = 33
print(li)

4)查找列表li中的元素,移除每个元素的空格,
   并找出以’A’或者’a’开头,并以’c’结尾的所有元素,
    并添加到一个新列表中,最后循环打印这个新列表。

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)

5)开发敏感词语过滤程序,提示用户输入评论内容,如果用户输入的内容中包含特殊的字符:敏感词列表 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)

猜你喜欢

转载自blog.csdn.net/qq_29027865/article/details/81534027
今日推荐