字典的使用


# 字典的使用
# 字典是一个容器类,可以用来存储数据
# 列表存储数据特点:1.有序的    2.每一个数据都有一个索引,通过索引可以对数据进行查询、修改、删除

# 字典存储数据:key:value(键值对)
# key 必须是不可变的,一般使用字符串作为字典中的key,也可以使用数字等不可变类型的值
# key 是唯一的,如果有多个相同key的情况,保留最后一个key对应的值
# 字典中存储的数据是没有顺序的
dict_1 = {'name':'zhangsan', 'age':22, 'phone':110, 'sex':'', 'name':'wnagwu'}
print(dict_1)
# 根据key取出字典中的值
# name = dict_1['sss']
# print(name)
# get(key, defalut)函数,获取字典中对应key的值 , 如果key不存在,取默认值,如果key存在,取出对应的结果
name = dict_1.get('name','0')
print(name)

# 向字典中添加数据
# 如果这个key不存在,添加数据,如果key存在,修改这个key对应的值
dict_1['name'] = 'lisi'
dict_1['ssss'] = '4s'

print(dict_1)

# 根据key删除字典中的数据
del dict_1['ssss']
print(dict_1)
# pop(key)  key必要参数,要移出的数据对应的key
s = dict_1.pop('name')
print(s)
# popitem() 随机从字典中取出一个键值对,并且将键值放在元组中
s = dict_1.popitem()
print(s)
# 删除字典中所有的键值对
# dict_1.clear()
# print(dict_1)

# 获取字典中所有的key
keys = dict_1.keys()
# 取出所有的keys
for key in keys:
    # 根据key取出对应的值
    value = dict_1[key]
    print('%s:%s'%(key,value))

# 获取字典中所有的value
values = dict_1.values()
# for循环取出所有的value
for value in values:
    print(value)

# 获取字典中所有的键值对
items = dict_1.items()
# [('phone', 110), ('sex', '')]
# for 循环遍历items
for item in items:
    # 从元组中 根据索引取出数据
    key = item[0]
    value = item[1]
    print('键:%s  值:%s'%(key, value))

# 判断字典中是否拥有某个key
if 'phone' in dict_1.keys():
    print('有这个key')
else:
    print('没有这个key')

'''
生成一个列表,存放100个随机整数,找出出现次数最多的数字(可能不止一个)
'''
numbers = [1,2,4,25,6,32,51,53,66,1,3,77,5]
# max() 取出列表中最大值  min()取出最小值
number = max(numbers)
print(number)

import random
# 列表推导式/生成式
numbers = [random.randint(0, 100) for x in range(100)]
# [最终放在列表中的数据  for循环]
# number2 = [x*x for x in range(100)]
result_dict = {}
for num in numbers:
    # 获取数字在列表中出现的次数
    count = numbers.count(num)
    # 把数字作为key,出现次数作为值value
    result_dict[num] = count

# 找出字典中最大的值,这个值就是出现的最高次数
h_count = max(result_dict.values())
# 通过次数,找到次数对应的值
for item in result_dict.items():
    # item键值对的小元组
    value = item[1]
    if value == h_count:
        key = item[0]
        print('出现次数最多的数字为:%s ,次数为:%s'%(key, value))


#   [{'name':'张三','age':22,'phone':110},{'name':'张三','age':22,'phone':110},{'name':'张三','age':22,'phone':110},{'name':'张三','age':22,'phone':110},{'name':'张三','age':22,'phone':110},{'name':'张三','age':22,'phone':110}]















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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值