012-Python常用数据类型操作- 字典

话不多说,上代码, 看结果。


print('1、###########################################################')
# 字典
# 无序的, 可变的键值对集合
# {key: value, key: value...}
# key不能重复  如果重复   后值会把前值覆盖
# key必须是任意不可变类型   数值、布尔、字符串、元组
dic = {'姓名': 'computer', '性别': '男', '爱好': '女'}
print('1、', dic, type(dic))
print('2、', dic['姓名'])

# fromkeys(S, v=None)
a = dict.fromkeys("asdf", 1234)
b = {'a': 1, 'b': 2}.fromkeys([1, 2], 123)
print('3、', a)
print('4、', b)

# 可以通过key, 访问对应的值, 使得这种访问更具意义
# 查询效率得到很大提升

print('2、字典常见操作- 增###########################################################')
# dic[key] = value   当key在原字典中不存在时, 即为新增操作
dic = {'姓名': 'computer', '性别': '男', '爱好': '女'}
dic['年龄'] = 20
print(dic)

print('3、字典常见操作- 删###########################################################')
# del  dic[key]   key必须要存在
dic = {'姓名': 'computer', '性别': '男', '爱好': '女'}
del dic['爱好']
print('1、', dic)

# dic.pop(key[, default])  删除指定的键值对, 并返回对应的值
# 如果key不存在, 那么直接返回给定的default值; 不作删除动作
# 如果没有给定默认值, 则报错
dic = {'姓名': 'computer', '性别': '男', '爱好': '女'}
dic.pop('爱好')
print('2、', dic)
print('3、', dic.pop('爱好', 123))
print('4、', dic)

# 删除按升序排序后的第一个键值对, 并以元组的形式返回该键值对   dic.popitem()
# 如果字典为空, 则报错
#
dic = {'姓名': 'computer', '性别': '男', '爱好': '女'}
print('5、', dic.popitem(), dic)
# dic = {}
# print(dic.popitem()) # KeyError: 'popitem(): dictionary is empty'

# 删除字典内所有键值对  返回None  dic.clear()
# 注意,字典对象本身还存在,只不过内容被清空
# 注意和del的区别
dic = {'姓名': 'computer', '性别': '男', '爱好': '女'}
print('6、', dic.clear(), dic)
# del dic
# print(dic)  # NameError: name 'd' is not defined

print('4、字典常见操作- 改###########################################################')
# 只能改值, 不能改key
# 修改单个键值对  dic[key] = value  直接设置, 如果key不存在, 则新增, 存在则修改
dic = {'姓名': 'computer', '性别': '男', '爱好': '女'}
dic['爱好'] = '男'
dic['年龄'] = 20
print('1、', dic)

# 批量修改键值对   oldDic.update(newDic)
# 根据新的字典, 批量更新旧字典中的键值对
# 如果旧字典没有对应的key, 则新增键值对
dic = {'姓名': 'computer', '性别': '男', '爱好': '女'}
dic1 = {'性别': '女', '爱好': '男', '年龄': 20}
dic.update(dic1)
print('2、', dic)

print('5、字典常见操作- 查###########################################################')
# 查
# 获取单个值
# dic[key]  如果key, 不存在, 会报错
dic = {'姓名': 'computer', '性别': '男', '爱好': '女'}
print('1、', dic['姓名'])
# print(dic['1231'])  # KeyError: '1231'

# dic.get(key[, default]) 如果不存在对应的key, 则取给定的默认值default
# 如果没有默认值,则为None 但不会报错
# 原字典不会新增这个键值对
dic = {'姓名': 'computer', '性别': '男', '爱好': '女'}
print('2、', dic.get('性别', '男'))
print('3、', dic.get('性别1', '男'))
print('4、', dic.get('性别1'))

# dic.setdefault(key[,default])   获取指定key对应的值
# 如果key不存在, 则设置给定默认值, 并返回该值
# 如果默认值没给定 则使用None代替
dic = {'姓名': 'computer', '性别': '男', '爱好': '女'}
print('5、', dic.setdefault('性别', '男'))
print('6、', dic.setdefault('性别1', '男'))
print('7、', dic.setdefault('性别1'), dic.setdefault('性别11'))

# 获取所有值
dic = {'姓名': 'computer', '性别': '男', '爱好': '女'}
print('8、', dic.values())
# 获取所有的键  dic.keys()
print('9、', dic.keys())
# 获取字典的键值对 dic.items()
print('10、', dic.items())

# 遍历
dic = {'姓名': 'computer', '性别': '男', '爱好': '女'}
for key in dic.keys():
    print(key, dic[key], end='\t')
print()

for key, value in dic.items():
    print(key, value, end='\t')
print()

# 计算 len(info)  键值对的个数
dic = {'姓名': 'computer', '性别': '男', '爱好': '女'}
print('11、', len(dic))

# 判定
# x in dic  判定dic中的key, 是否存在x
# x not in dic  判定dic中的key, 是否不存在x
dic = {'姓名': 'computer', '性别': '男', '爱好': '女'}
print('12、', '姓名' in dic, '姓名' not in dic)

结果如下图。
在这里插入图片描述
在这里插入图片描述
就先这样,遇到别的再补充。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值