python基础-07-元组/字典的常用基本操作

题目1
•敏感词判断 li = [“苍井空”,“波多野结衣”,“武藤兰”,“东京热”]
•将用户输入的敏感词替换成*
•敏感词的长度等于* 如 苍井空等于***
•输入内容 gpc特别喜欢苍井空,偶尔也喜欢波多野结衣,自从放弃了东京热,生活乐无边

content = input (">>>")
li = ["苍井空","波多野结衣","武藤兰","东京热"]
for ci in li:
    if ci in content: #判断ci是否出现content输入中
        content = content.replace(ci,"*"*len(ci))
print (content)

gpc特别喜欢苍井空,偶尔也喜欢波多野结衣,自从放弃了东京热,生活乐无边
gpc特别喜欢***,偶尔也喜欢*****,自从放弃了***,生活乐无边

元组
•元组的不可变指的是:内部元素的指向不可发生改变

t = (1,2,3,4,5)
t[1]= 66 #  'tuple' object does not support item assignment
print (t)

TypeError Traceback (most recent call last)
in
1 t = (1,2,3,4,5)
----> 2 t[1]= 66 # ‘tuple’ object does not support item assignment
3 print (t)

TypeError: ‘tuple’ object does not support item assignment

t = (1,2,[6,7,8,9],3,4,5)
t[2]= 66 #  'tuple' object does not support item assignment
print (t)

TypeError Traceback (most recent call last)
in
1 t = (1,2,[6,7,8,9],3,4,5)
----> 2 t[2]= 66 # ‘tuple’ object does not support item assignment
3 print (t)

TypeError: ‘tuple’ object does not support item assignment

# 元组的不可变指的是:内部元素的指向不可发生改变 但是列表内的元素是能改变的
t = (1,2,[6,7,8,9],3,4,5)
t[2][0]= 66 
print (t)

(1, 2, [66, 7, 8, 9], 3, 4, 5)

字典(重点
•字典中存储的数据要求必须是 key:value
•在字典中,你需要拿到key就一定能拿到value
•查找效率高
•字典语法:◾{key:value,key2:value2,key3:value3…}
◾key:必须是可哈希的数据类型(不可变的数据类型)◦不可变的有 : 元组,字符串,数字,bool值
◾value :什么都可以装

d = {"jj":"林俊杰","jay":"周杰伦","uan":"杨雨","gpc":"葛鹏程"}
print (d)

{‘jj’: ‘林俊杰’, ‘jay’: ‘周杰伦’, ‘uan’: ‘杨雨’, ‘gpc’: ‘葛鹏程’}

d = {"jj":"林俊杰","jay":"周杰伦","uan":"杨雨","gpc":"葛鹏程"}
print (d["jj"])
print (d["jjj"]) # 如果给的key不存在就会报错KeyError: 'jjj'
# 字典没有索引切片

林俊杰


KeyError Traceback (most recent call last)
in
1 d = {“jj”:“林俊杰”,“jay”:“周杰伦”,“uan”:“杨雨”,“gpc”:“葛鹏程”}
2 print (d[“jj”])
----> 3 print (d[“jjj”]) # 如果给的key不存在就会报错KeyError: ‘jjj’
4 # 字典没有索引切片

KeyError: ‘jjj’

# 1,增加
lol = {"盖伦":"德玛西亚之力","皇子":"嘉文四世","亚索":"疾风剑豪"}
print(lol)
lol ["艾希"]="寒冰射手"
print(lol)
lol.setdefault("流浪法师","瑞兹")
print(lol)
lol.setdefault("亚索","阿里卡通")#如果key存在了就不新增了
print(lol)

{‘盖伦’: ‘德玛西亚之力’, ‘皇子’: ‘嘉文四世’, ‘亚索’: ‘疾风剑豪’}
{‘盖伦’: ‘德玛西亚之力’, ‘皇子’: ‘嘉文四世’, ‘亚索’: ‘疾风剑豪’, ‘艾希’: ‘寒冰射手’}
{‘盖伦’: ‘德玛西亚之力’, ‘皇子’: ‘嘉文四世’, ‘亚索’: ‘疾风剑豪’, ‘艾希’: ‘寒冰射手’, ‘流浪法师’: ‘瑞兹’}
{‘盖伦’: ‘德玛西亚之力’, ‘皇子’: ‘嘉文四世’, ‘亚索’: ‘疾风剑豪’, ‘艾希’: ‘寒冰射手’, ‘流浪法师’: ‘瑞兹’}

# 2, 修改 直接使用原有key 就能修改原有的元素
lol = {"盖伦":"德玛西亚之力","皇子":"嘉文四世","亚索":"疾风剑豪"}
lol ["亚索"]="阿里卡通"
print (lol)

{‘盖伦’: ‘德玛西亚之力’, ‘皇子’: ‘嘉文四世’, ‘亚索’: ‘阿里卡通’}

# 3,删除 pop(key)根据key来删除一个键值对
lol = {"盖伦":"德玛西亚之力","皇子":"嘉文四世","亚索":"疾风剑豪"}
lol.pop("亚索")
print (lol)

{‘盖伦’: ‘德玛西亚之力’, ‘皇子’: ‘嘉文四世’}

# 4 ,查询
lol = {"盖伦":"德玛西亚之力","皇子":"嘉文四世","亚索":"疾风剑豪"}
print (lol.get("亚索"))
print (lol.get("亚瑟"))#如果key不存在,返回None
print(lol.get ("亚瑟","没有检测到当前key"))#当key不存在得时候返回默认值
print (lol["亚瑟"])#如果key不存在就报错

疾风剑豪
None
没有检测到当前key


KeyError Traceback (most recent call last)
in
4 print (lol.get(“亚瑟”))#如果key不存在,返回None
5 print(lol.get (“亚瑟”,“没有检测到当前key”))#当key不存在得时候返回默认值
----> 6 print (lol[“亚瑟”])#如果key不存在就报错

KeyError: ‘亚瑟’

# 5 , 字典的常用操作
# keys()  key的集合
# values() value的集合
# items() key:value的集合
lol = {"盖伦":"德玛西亚之力","皇子":"嘉文四世","亚索":"疾风剑豪"}
print (lol.keys())
for i in lol.keys():
    print (i)

dict_keys([‘盖伦’, ‘皇子’, ‘亚索’])
盖伦
皇子
亚索

lol = {"盖伦":"德玛西亚之力","皇子":"嘉文四世","亚索":"疾风剑豪"}
print (lol.values())
for i in lol.values():
    print (i)

dict_values([‘德玛西亚之力’, ‘嘉文四世’, ‘疾风剑豪’])
德玛西亚之力
嘉文四世
疾风剑豪

lol = {"盖伦":"德玛西亚之力","皇子":"嘉文四世","亚索":"疾风剑豪"}
print (lol.items())
for i in lol.items():
    print (i)

dict_items([(‘盖伦’, ‘德玛西亚之力’), (‘皇子’, ‘嘉文四世’), (‘亚索’, ‘疾风剑豪’)])
(‘盖伦’, ‘德玛西亚之力’)
(‘皇子’, ‘嘉文四世’)
(‘亚索’, ‘疾风剑豪’)

lol = {"盖伦":"德玛西亚之力","皇子":"嘉文四世","亚索":"疾风剑豪"}
print (lol.items())
for i in lol.items():
    print (i[0])
    print (i[1])

dict_items([(‘盖伦’, ‘德玛西亚之力’), (‘皇子’, ‘嘉文四世’), (‘亚索’, ‘疾风剑豪’)])
盖伦
德玛西亚之力
皇子
嘉文四世
亚索
疾风剑豪

lol = {"盖伦":"德玛西亚之力","皇子":"嘉文四世","亚索":"疾风剑豪"}
print (lol.items())
for k,v in lol.items():#解包
    print (k,v)

dict_items([(‘盖伦’, ‘德玛西亚之力’), (‘皇子’, ‘嘉文四世’), (‘亚索’, ‘疾风剑豪’)])
盖伦 德玛西亚之力
皇子 嘉文四世
亚索 疾风剑豪

# 字典嵌套
wangfeng = {
    "name":"汪峰",
    "age":"58",
    "wife":{
        "name":"章子怡",
        "nick_name":"国际章",
        "hobby":["唱歌","跳舞","演戏"]
    },
    "children":[
        {"name":"汪大娃","age":18},
        {"name":"汪二娃","age":15}
    ]
}

# 汪大娃年龄多少?
print (wangfeng["children"][0]["age"])
wangfeng["wife"]["hobby"].append("读书")
print (wangfeng)
# 给二娃增加 2 岁
wangfeng["children"][1]["age"] = wangfeng["children"][1]["age"] + 2
print (wangfeng)

18
{‘name’: ‘汪峰’, ‘age’: ‘58’, ‘wife’: {‘name’: ‘章子怡’, ‘nick_name’: ‘国际章’, ‘hobby’: [‘唱歌’, ‘跳舞’, ‘演戏’, ‘读书’]}, ‘children’: [{‘name’: ‘汪大娃’, ‘age’: 18}, {‘name’: ‘汪二娃’, ‘age’: 15}]}
{‘name’: ‘汪峰’, ‘age’: ‘58’, ‘wife’: {‘name’: ‘章子怡’, ‘nick_name’: ‘国际章’, ‘hobby’: [‘唱歌’, ‘跳舞’, ‘演戏’, ‘读书’]}, ‘children’: [{‘name’: ‘汪大娃’, ‘age’: 18}, {‘name’: ‘汪二娃’, ‘age’: 17}]}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值