字典的内置函数

字典的一些基本的函数

在这里插入图片描述

'''
增加元素(key:values)
dict[key] = value ---> {key:value}
特点: key 在字典中是唯一的  value可以是不唯一的
{’name‘:’tom‘,’name':'aa'}  错误的定义
{'张飒':100,'李四':100}  允许定义
字典之中,没有下标

查询元素:
list1 = []
list1.append(element)

dict1 = {}
dict1[key] = values

修改:
list1[index] = newvalue

dict1[key] = newvalue

查询:
list1[index]  ---->index

dict1[key]   ---> value

取值:
根据key获取value

'''

list1 = [1,3,5,7]
print(list1[2])#5

dict1 = {'1':'张三','2':'李四','3':'王五'}
print(dict1['2'])#李四

dict2 = {'张三':100,'李四':100,'王五':89,'赵柳':99}

print(dict2['王五'])#89

# 考试分数大于90分数的人 遍历
# 尝试对字典进行遍历
for key in dict2:
    print(key,end="")
'''
张三李四王五赵柳
 遍历的结果是key
 借用字典的函数:
items()  将字典的键值对转成列表的形式来保存 
列表套元组  [(),(),()]
valuse()
keys()
'''
print()
print(dict2.items())
for i in dict2.items():
    print(i,end="")
# ('张三', 100)('李四', 100)('王五', 89)('赵柳', 99)
print()
for key,value in dict2.items():
    #print(key,value,end = " ")  #张三 100 李四 100 王五 89 赵柳 99
    if value > 90:
        print(key,end = "")
        #张三李四赵柳
# values 取出字典的所有的值
result = dict2.values()
print(result)
# 求所有同学的平均成绩
for score in dict2.values():
    print(score,end = "  ")#100  100  89  99
print()

scores = dict2.values()
total = sum(scores)
average = total/(len(scores))
print(average) # 97.0


names = dict2.keys()
print(names) # ict_keys(['张三', '李四', '王五', '赵柳'])
for name in names:
    print(name,end = " ") #张三 李四 王五 赵柳

#找人: in 用于判断有没有key在字典中出现
# 8 in list1
# 字典在使用in的时候都是key
print('王五' in dict2)#True

'''
1.根据key 获取  值 如果key没有在字典中出现的时候报出 key error
    dict2[key] = value
2.字典的内置函数: get()
    如果取不到值,不会报错,返回none
    get(key,default)  ---》如果能够取到,返回取到得值
    如果没有则返回默认的值default
3.items()
4.keys()
5.values()
'''
#  print(dict2['zhaifei']) #KeyError: 'zhaifei'
print(dict2.get('zhaofei'))  # None


# 删除   删除的话最好用 pop() 函数
# del同列表的删除是一样的
list1 = [1, 2, 3, 4]
del list1[1]
print(list1)#[1, 3, 4]
del dict2['王五']
print(dict2)  #{'张三': 100, '李四': 100, '赵柳': 99}
#del dict2['asd'] #KeyError: 'asd'

# 字典的关于删除的内置函数: 删除
# remove方法  字典之中没有remove函数
#dict2.remove('李四') #AttributeError: 'dict' object has no attribute 'remove'
# 有pop()  pop(key,default)
# 默认值往往再删除的时候没有找到对应的key则返回默认的值
# pop的返回值为key的value  根据key删除字典中的键值对

print(dict2.pop('李四',80)) #100  键值对的值
print(dict2) #{'张三': 100, '赵柳': 99} 删除了对用键的键值对
print(dict2.pop('sd', '字典中没有此键'))   #字典中没有此键
# 如果没有东西的话会返回默认值
# popitem() : 随机删除键值对,一般是从末尾删除元素

print('*'*10)
dict2 = {'张三': 100, '李四': 100, '王五': 89, '赵柳': 99}
result = dict2.popitem()
print(result) # ('赵柳', 99)
print(dict2) # {'张三': 100, '李四': 100, '王五': 89}
result = dict2.popitem()
print(result)  #('王五', 89)
print(dict2)  #{'张三': 100, '李四': 100}

# clear()   同列表的clear 清空操作
dict2.clear()
print(dict2)# {}
'''
删除总结
1. del dict[key]
2. dict.pop(key,default)
3. dict.popitem()
4. dict.clear()
'''
'''
其他的内置函数
update()  类似以列表之间加法 但是字典和字典之间是不支持字典相加的
用update使两个字典合并为一个
fromkeys(seq) ----seq转成字典的形式,如果没有指定的默认的value则
  使用none,如果指定default则使用default来代替none
'''
dict1 = {0:'tom',1:'jack',2:'lucy'}
dict2 = {0:'lily',4:'ruby'}
# result = dict1.update(dict2)
# print(result) # None
# print(dict1) #{0: 'lily', 1: 'jack', 2: 'lucy', 4: 'ruby'}
list = ['aa','bb','cc']
new_dict = dict.fromkeys(list)
print(new_dict) #{'aa': None, 'bb': None, 'cc': None}
new_dict1 = dict.fromkeys(list,10)
print(new_dict1)#{'aa': 10, 'bb': 10, 'cc': 10}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值