Python 字典的使用

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

# 字典存储数据: key:value(键值对)
# key 必须是不可变的,一般使用字符串作为字典中的key,也可用数字等不可变类型的值
# key 是唯一的,如果有多个相同key的情况,保留最后一个key对应的值
# 字典中存储的数据是没有顺序的
dict_1 = {'name':'zhangsan','age':22,'phone':110,'sex':'男'}


# 根据key取出字典中的值
# name = dict_1['name']
# print (name)
# get(key,defalut)函数,获取字典中对应key的值,如果key不存在,取默认值,如果key存在取出对应的结果
name =dict_1.get('name','0')
print (name)


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

# 删除字典中的数据
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()
# [('age', 22), ('sex', '男')]
print (items)
# 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')



numbers = [1,3,6,9,55,44,88,22,66,99]
# max()取出列表中最大值 min()取出列表中最小值
number1 = max(numbers)
print (number1)
number2 = min(numbers)
print (number2)

'''
    生成一个列表,存放100个随机整数,找出出现次数最多的数字(可能不止一个)
'''

import random
#[最终放在列表中的数据  for 循环]
number_list = [random.randint(0,100) for x in range(100)]
result_dict = {}
for num in number_list:
    # 获取数字在列表中出现的次数
    count = number_list.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))

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值