找回密码
 立即注册

扫一扫,访问微社区

QQ登录

只需一步,快速开始

查看: 2913|回复: 4

[求助] 新人字典问题求教

1

主题

1

帖子

1

积分

贫民

积分
1
willLin 发表于 2017-4-25 22:17:00 | 显示全部楼层 |阅读模式
题目是:对给出的一串字符串求出现次数最多的数字和次数
arr = [8,4,4,4,11,8]
dic = {}
for item in arr:
    if item in dic.keys():
        dic[item] += 1
    else:
        dic[item] = 1
print(dic)



代码上,为什么可以写if语句判断dic的键,这个dic的键不是空的吗?
回复

使用道具 举报

0

主题

24

帖子

24

积分

贫民

积分
24
leftloveu 发表于 2017-4-26 17:00:15 | 显示全部楼层
初始的dic的键确实是空的,但是在for循环中,就在向这个dic放入键和值了呀
回复 支持 反对

使用道具 举报

1

主题

9

帖子

9

积分

贫民

积分
9
QQ
Adapter|S 发表于 2017-4-26 19:33:13 | 显示全部楼层
if item in dic.keys(): 意思是item是否存在于dic中 dic中是否有元素它都可以运行
回复 支持 反对

使用道具 举报

3

主题

6

帖子

6

积分

贫民

积分
6
18813034116 发表于 2017-4-30 19:09:32 | 显示全部楼层
  1. # coding=utf-8
  2. arr = [8,4,4,4,11,8]
  3. dic = {}
  4. for item in arr:#从arr中一次取出一个值
  5.     if item in dic.keys():#判断该值是否已存在于dic字典的键中
  6.         dic[item] += 1#是的话给该键的对应值+1
  7.     else:
  8.         dic[item] = 1#否则给dic字典添加该键,并设置对应值为1
  9. print(dic)
复制代码
回复 支持 反对

使用道具 举报

1

主题

5

帖子

5

积分

贫民

积分
5
ChrisLee 发表于 2017-4-30 20:17:21 | 显示全部楼层
这是个循环啊,下一次就有了啊
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表