您的位置:首页 > 编程语言 > Python开发

python(dict字典相关知识以及小例子:生成一个列表,存放100个随机整数,找出出现次数最多的数字)

2018-01-25 17:53 1271 查看
一、什么是字典?

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

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

二、字典取值方法

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


#1. 获取字典中所有的key
keys = dict_1.keys()
#获取keys类型
# print(type(keys))
#取出所有的keys
for key in keys:
#根据key取出对应的值
value = dict_1[key]
print('%s:%s'%(key,value))
#2.获取字典中所有的value
values = dict_1.values()
#for循环取出所有的value
for value in values:
print(value)
#3.获取字典中所有的键值对
#items不可变,可作为key值
items = dict_1.items()
# [('sex', '男'), ('phone', 110)]
#for 循环遍历items
for item in items:
#从元组中根据索引来取出数据
key = item[0]
value = item[1]
print('键:%s 值:%s'%(key ,value))

三、向字典中添加数据

#向字典中添加数据
#如果key不存在,就添加数据。如果存在就修改key对应的值
dict_1['sss'] = '4s'
print(dict_1)

四、删除字典中数据

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

五、小例子
要求如下:

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

代码如下:
#老师的程序
import random
#列表推导式、生成式
numbers  = [random.randint(0,100) for x in range(100)]
#[最终放在列表中的数据  for 循环
# number2 = [x for x in range(100)]
result_dict = {}
for num in numbers:
#获取数字在字典中出现的次数
count = numbers.count(num)
#把数字作为key,出现的次数作为value
result_dict[num] = count
# print(result_dict)
#找出字典中最大的值 这个值就是最高次数
h_count = max(result_dict.values())
# print(h_count)
for item in result_dict.items():
#item 键值对的小元组
value =item[1]
if value == h_count:
key = item[0]
print('出现次数最多的数字为:%s,次数为:%s'%(key,value))

#我的程序
list_2 = []
dict_2 = {}
import random
i = 100
while i:
num = random.randint(0,100)
list_2.append(num)
i -= 1
for x in range(0,len(list_2)):
num = list_2[x]
counts = list_2.count(num)
dict_2[num] = counts
count = max(dict_2.values())
for item in dict_2.items():
value = item[1]
if value == count:
key = item[0]
print('数字:%s 次数:%s'%(key,value))
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐