Python全栈(第一期)Day5

一,昨日内容回顾

列表:

增 append :
insert:按位置插入
extend:迭代增加

删 remove:
按元素:pop
按索引:clear
清空列表:del

改:
li[索引] = ‘被修改的内容’
li[切片]:‘被修改的内容’

查:
for循环: Range:

元祖:

  count()

  len()

  li.index('元素'):寻找索引

  sort(reverse = True):倒序排序

  li.sort():排序

  print(li.sort())

  reverse()反转

  ps:

     join: 

list ----->str

  S.join(iterable)

PS:这只是join的一个小功能,不只是能操作字符串。

PS:split :str---->list

二,实战讲解

1,由列表实现下列功能

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

lis = [2, 3, 'k', ['qwe', 20, ['k', ['tt', 3, '1']], 89], 'ab', 'adv']
#(1)
lis[3][2][1][0] = lis[3][2][1][0].upper()
print(lis)


#(2)
lis[1] = '100'
lis[3][2][1][1] = '100'
print(lis)

#(3)
lis[3][2][1][2] = int(lis[3][2][1][2].replace('1', '101'))
print(lis)

输出结果:
[2, 3, ‘k’, [‘qwe’, 20, [‘k’, [‘TT’, 3, ‘1’]], 89], ‘ab’, ‘adv’]
[2, ‘100’, ‘k’, [‘qwe’, 20, [‘k’, [‘TT’, ‘100’, ‘1’]], 89], ‘ab’, ‘adv’]
[2, ‘100’, ‘k’, [‘qwe’, 20, [‘k’, [‘TT’, ‘100’, 101]], 89], ‘ab’, ‘adv’]

2,查找列表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)

3,开发敏感词语过滤程序,提示用户输入评论内容,如果用户输入的内容中包含特殊的字符:

1,敏感词列表 li = [“苍老师”,“东京热”,”武藤兰”,”波多野结衣”]
2,则将用户输入的内容中的敏感词汇替换成***,并添加到一个列表中;
3,如果用户输入的内容没有敏感词汇,则直接添加到上述的列表中。

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)

输出结果:
请输入评论内容:男人都喜欢苍老师?
['男人都喜欢
?’]***

三,我们来了解一个新的东西:字典

先来点小知识:

数据类型划分:可变数据类型 +不可变数据类型 。
不可变数据类型:元组,bool int str --------不可更改又叫:可哈希
可变数据类型:list,dict set ----------------- 可更改又叫: 不可哈希

dict :
key:必须是不可变数据类型(四种),可哈希,
value:任意数据类型(任意)。

dict 优点:二分查找去查询。
存储大量的关系型数据
特点:无序的

1,增:两种增加方法

dic1 = {'age': 18, 'name': 'jin', 'sex': 'male',}


dic1['high'] = 185  #没有键值对,添加
dic1['age'] = 16  #如果有键,则值覆盖

dic1.setdefault('weight')  #没有键值对:添加。
print(dic1)
dic1.setdefault('weight',150)# 有键值对:不做任何改变。
print(dic1)
'''Note:注意上述两种方法的区别'''

输出结果:
{‘age’: 16, ‘name’: ‘jin’, ‘sex’: ‘male’, ‘high’: 185, ‘weight’: None}
{‘age’: 16, ‘name’: ‘jin’, ‘sex’: ‘male’, ‘high’: 185, ‘weight’: None}

2,删除

dic1 = {'age': 18, 'name': 'jin', 'sex': 'male', }
print(dic1.pop('age'))          # 有返回值,按键去删除
print(dic1.pop('二哥', None))   # 可设置返回值
'''当我们想去删除一个不知道存不存在键时,我们就有这个函数。如果不加None,并且没有二哥这个键,
程序会报错'''
print(dic1)

print(dic1.popitem())  # 随机删除 有返回值 元组里面是删除的键值。
print(dic1)



del dic1['name']
print(dic1)

dic1.clear() #清空字典

del dic1

输出结果:
18
None
{‘name’: ‘jin’, ‘sex’: ‘male’}
(‘sex’, ‘male’)
{‘name’: ‘jin’}
{}

3,改:updata

dic = {"name": "jin", "age": 18, "sex": "male"}
dic2 = {"name": "alex", "weight": 75}
dic2.update(dic)

print(dic)
print(dic2)

输出结果:
{‘name’: ‘jin’, ‘age’: 18, ‘sex’: ‘male’}
{‘name’: ‘jin’, ‘weight’: 75, ‘age’: 18, ‘sex’: ‘male’}

4,查询操作

dic1 = {'age': 18, 'name': 'jin', 'sex': 'male'}

print(dic1.keys(), type(dic1.keys()))
print(dic1.values())
print(dic1.items())

for i in dic1: #什么都不写,默认打印key
    print(i)
print('****************')
for i in dic1.keys():
    print(i)
print('****************')
for i in dic1.values():
    print(i)

print('****************')
for k,v in dic1.items():
    print(k, v)

输出结果:
dict_keys([‘age’, ‘name’, ‘sex’]) <class ‘dict_keys’>
dict_values([18, ‘jin’, ‘male’])
dict_items([(‘age’, 18), (‘name’, ‘jin’), (‘sex’, ‘male’)])
age
name
sex


age
name
sex


18
jin
male


age 18
name jin
sex male

PS:’’‘我就想得到这个键的值,但是我不知道有没有这个键。而且,我还不想让程序报错!’’'

dic1 = {'age': 18, 'name': 'jin', 'sex': 'male'}
print(dic1.get('name', '没有这个键'))
print(dic1.get('name1', '没有这个键'))

输出结果:
jin
没有这个键

5,最后我们来学习一下字典中的嵌套

dic = {
    'name': ['alex','wusir','taibai'],
    'py9': {
         'time': '1213',
         'learn_money': 19800,
         'addr': 'CBD',
           },
    'age': 21
}



dic['name'].append('ritian')  #测试执行的相当于是一个列表
dic['name'][1] = dic['name'][1].upper()#这里相当于操作的是一个元素
print(dic)



female : 6   #增加一个键值对
dic['py9']['female'] = 6
print(dic)

输出结果:
{‘name’: [‘alex’, ‘WUSIR’, ‘taibai’, ‘ritian’], ‘py9’: {‘time’: ‘1213’, ‘learn_money’: 19800, ‘addr’: ‘CBD’}, ‘age’: 21}
{‘name’: [‘alex’, ‘WUSIR’, ‘taibai’, ‘ritian’], ‘py9’: {‘time’: ‘1213’, ‘learn_money’: 19800, ‘addr’: ‘CBD’, ‘female’: 6}, ‘age’: 21}

猜你喜欢

转载自blog.csdn.net/qq_42615032/article/details/83652224
今日推荐