python 基础 : 字典

一. 知识点
二. 代码练习

# 字典的创建
dic = {
    'name': ['大圣', '菩提'],
    'py9': [{'num': 71, 'avg_age': 18, }, ],
    True: 1,
    (1, 2, 3): 'prince',
    2: 'princess',
}
print(dic)

# 字典的增 第一种(此种方法有改的可能,对已存在的key,可以进行值的覆盖)
dic1 = {'age': 18, 'name': 'jin', 'sex': 'male', }
dic1['high'] = 185      # 没有键值对——添加
print(dic1)
dic1['age'] = 16        # 如果有key,则value被覆盖
print(dic1)

# 字典的增 第二种 setdefault
dic1 = {'age': 18, 'name': 'prince', 'sex': 'male', }
dic1.setdefault('weight', 150)       # setdefault(self, k, d=None),默认则value=None
print(dic1)
dic1.setdefault('name', '大圣')       # 有键值对则不做任何改变,没有才增加
print(dic1)

# 字典的删 第一种 pop()——主要用该方法进行删
dic1 = {'age': 18, 'name': 'prince', 'sex': 'male', }
print(dic1.pop('age'))      # dic1.pop('age') ,有返回值,返回值为对应的value,按键去删除
# print(dic1.pop('height')) 删除不存在的key,不给参数时报错
# print(dic1.pop('height',None)) 删除不存在的key,给参数时不报错,在删除不知道存不存在的key时,给一个参数可以防止报错,参数任意(一般用None),可设置返回值
print(dic1)

# 字典的删 第二种 popitem():随机删除,没有实际使用意义
dic1 = {'age': 18, 'name': 'prince', 'sex': 'male', }
dic1.popitem()      # 随机删除(python3.5及之前),python3.6开始删除最后一个,有返回值,返回值为元组(key,value)
print(dic1)

# 字典的删 第三种 clear():清空字典
dic1 = {'age': 18, 'name': 'prince', 'sex': 'male', }
dic1.clear()
print(dic1)

# 字典的删 第四种 del
dic1 = {'age': 18, 'name': 'prince', 'sex': 'male', }
del dic1['name']    # 无返回值,没有对应的key时删除会报错
print(dic1)

del dic1    # 也可以删除整个字典

# 字典的改 第一种 直接进行覆盖
dic1 = {'age': 18, 'name': 'prince', 'sex': 'male', }
dic1['age'] = 16
print(dic1)

# 字典的改 第二种 update()
dic = {"name": "prince", "age": 18, "sex": "male"}
dic2 = {"name": "alex", "weight": 75}
dic2.update(dic)  # 将dic所有的键值对覆盖添加(相同的覆盖,没有的添加)到dic2中
print(dic1)
print(dic2)

# 字典的查 第一种
dic1 = {"name": "prince", "age": 18, "sex": "male"}
print(dic1.keys(), type(dic1.keys()))        # <class 'dict_keys'>,当成一个列表,列表怎么用就怎么用
print(dic1.values())
print(dic1.items())

dic1 = {"name": "prince", "age": 18, "sex": "male"}
for i in dic1:       # ——> for in dic1.keys()
    print(i)    # 什么都不写,默认打印key

a, b = 1, 2     # 一一对应,以最小单位进行赋值
a, b = [1, 2]
a, b = [1, 2], [2, 3]
print(a, b)

a = 1
b = 2
a, b = b, a     # 用一行代码交换a,b的值
print(a, b)

for i in dic1.items():
    print(i)        # 以元组打印出(key,value)

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

# 字典的查 第二种 get()
dic1 = {"name": "prince", "age": 18, "sex": "male"}
print(dic1['name'])     # 缺点:没有key的时候报错

print(dic1.get('name1', '无此键'))        # 使用get()时没有key时返回默认None,且返回值可自由设定,防止了报错

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值