雾都之菜魚与Python恋爱的第五天 “字典与集合”
例子一
# 'name': '孙悟空' name就是键也叫key 孙悟空就是值也叫value 他们中间用冒号分割
class_info_dict1 = {'name': '孙悟空', 'vocation': '演员', 'pay': '20000'}
class_info_dict2 = {'name': '牛魔王', 'vocation': '灯光师', 'pay': '15000'}
class_info_dict3 = {'name': '猪八戒', 'vocation': '导演', 'pay': '2000000'}
print(class_info_dict1)
# 打印class_info_dict1的类型是字典(dict)
print(type(class_info_dict1))
例子二
# 'name': '孙悟空' name就是键也叫key 孙悟空就是值也叫value 他们中间用冒号分割
class_info_dict1 = {'name': '孙悟空', 'vocation': '演员', 'pay': '20000'}
class_info_dict2 = {'name': '牛魔王', 'vocation': '灯光师', 'pay': '15000'}
class_info_dict3 = {'name': '猪八戒', 'vocation': '导演', 'pay': '2000000'}
# 这里的意思是获取我们class_info_dict1中key为name的值
print(class_info_dict1['name'])
这里是我写的一个例子大家可以动手去试试看哦!!!
# 嵌套怎么去取值
# 举例:
list1 = {
'001': {'name': '废魚', '身高': '175', '体重': '120', '口头禅': '我是白菜'},
'002': {'name': '胡歌', '身高': '180', '体重': '130', '口头禅': '我不急,彭于晏还没有找呢'},
'003': {'name': '彭于晏', '身高': '180', '体重': '125', '口头禅': '我不急,胡歌还没有找呢'}
}
# 我怎么取到胡歌的口头禅呢
print("{}的口头禅是{}".format(list1['002']['name'], list1['002']['口头禅']))
5.1、字典的增
# 这里呢我们定义一个info信息
info = {
'name': '胡歌',
'身高': '180',
'体重': '130',
'口头禅': '我不急,彭于晏还没有找呢!'
}
# 这里呢通过我们的方法往里面增加一个性别的键值对
# 注:在我们用方法setdefault增加键值对的时候要注意是用逗号分割不是冒号
info.setdefault('sex', '男')
# 最后是输出查看我们的方法是否有增加我们写入的键值对信息
print(info)
5.2、字典的删
# 这里呢我们定义一个info信息
info = {
'name': '胡歌',
'sex': '男',
'stature': '180',
'weight': '130',
'tag': '我不急,彭于晏还没有找呢!'
}
# 这里呢我们用我们的方法(.pop(self,k(键)),意思就是删除传入键的键值对)
info.pop('sex')
# 输出我们的结果
print(info)
# 这里呢我们定义一个info信息
info = {
'name': '胡歌',
'sex': '男',
'stature': '180',
'weight': '130',
'tag': '我不急,彭于晏还没有找呢!'
}
# 这里呢我们用我们的方法(.clear(self)意思就是清空字典)
info.clear()
# 输出我们的结果
print(info)
# 这里呢我们定义一个info信息
info = {
'name': '胡歌',
'sex': '男',
'stature': '180',
'weight': '130',
'tag': '我不急,彭于晏还没有找呢!'
}
# 这里呢我们用我们的方法(.popitem(self)意思就是删除字典最后一对键值对)
info.popitem()
# 输出我们的结果
print(info)
5.3、字典的改
# 这里呢我们定义一个info信息
info = {
'name': '菜魚',
'sex': '男',
'stature': '180',
'weight': '130',
'tag': '我不急,彭于晏和胡歌还没有找呢!'
}
# 这里呢我们用我们的方法(.update()意思是直接传入一个键值对进行修改)
info.update({'sex': '女'})
# 输出我们的结果
print(info)
5.4、字典的查
# 这里呢我们定义一个info信息
info = {
'name': '菜魚',
'sex': '男',
'stature': '180',
'weight': '130',
'tag': '我不急,彭于晏和胡歌还没有找呢!'
}
# 这里呢我们用我们的方法(.values(self) 意思就是查看所有的值)
info.values()
# 输出我们的结果
print(info)
# 这里呢我们定义一个info信息
info = {
'name': '菜魚',
'sex': '男',
'stature': '180',
'weight': '130',
'tag': '我不急,彭于晏和胡歌还没有找呢!'
}
# 这里呢我们用我们的方法(.items)输出后发现他把这个字典转换为一对一对的元组)
# 输出我们的结果
print(info.items())
# 这里呢我们定义一个info信息
info = {
'name': '菜魚',
'sex': '男',
'stature': '180',
'weight': '130',
'tag': '我不急,彭于晏和胡歌还没有找呢!'
}
# 这里呢我们用我们的方法(len(__obj) 意思查看字典的长度)
# 输出的意思是在info有五个键值对
print(len(info))
# 集合是一个有{}包裹起来的数据,类型是set
set1 = {1, 2, 3}
print(type(set1))
# 这是我对三个网站爬取的年度电影TOP5
list1 = ['蜘蛛侠', '钢铁侠', '绿巨人', '美国队长', '喜羊羊']
list2 = ['蜘蛛侠', '神奇女侠', '绿巨人', '钢铁侠', '喜羊羊']
list3 = ['蜘蛛侠', '蚁人', '绿巨人', '美国队长', '熊出没']
list4 = list1 + list2 + list3
print(list4)
# 在三个网站电影中分别去除重复的
date = set(list4)
print(date)
# 取三个网站上都有的电影
# 集合可以进行关系运算
# & 这个符号是与运算符号,放在这里的意思就是我要进行一个与运算
# & 符号的意思是运算两边都有的数据
date = set(list1) & set(list2) & set(list3)
# 这里的意思是先把list1 和 list2进行运算找出都有的数据在和list3进行运算得出都有的数据
print(date)
8.1、集合的增
# .add 增加单个数据
set1 = {'蜘蛛侠', '钢铁侠', '绿巨人', '美国队长', '喜羊羊'}
set1 .add('奥特曼')
print(set1)
# .update 增加多个数据传入的数据用[]括起来
set1 = {'蜘蛛侠', '钢铁侠', '绿巨人', '美国队长', '喜羊羊'}
set1.update(['花园宝宝', '蚁人'])
print(set1)
8.2、集合的删
set1 = {'蜘蛛侠', '钢铁侠', '绿巨人', '美国队长', '喜羊羊'}
# remove 删除传入集合中的元素值
set1.remove('蜘蛛侠')
print(set1)
set1 = {'蜘蛛侠', '钢铁侠', '绿巨人', '美国队长', '喜羊羊'}
# pop随机删除一个元素(用得少)
set1.pop()
print(set1)
8.3、集合的查
set1 = {'蜘蛛侠', '钢铁侠', '绿巨人', '美国队长', '喜羊羊'}
# 查
# 只能用in做一个判断查询
# in
# True 正确的
# False 错误得
print('钢铁侠' in set1)
print('铠甲勇士' in set1)
set1 = {'蜘蛛侠', '钢铁侠', '绿巨人', '美国队长'}
set2 = {'西游记', '猪猪侠', '神奇四侠', '蜘蛛侠'}
# .update 可以将集合插入到另一个集合当中
set1.update(set2)
print(set1)
# .union 也可以将集合联合到另一个集合当中
set1.union(set2)
print(set1)