前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Day6.数据类型-字典

Day6.数据类型-字典

作者头像
DataScience
发布2020-09-08 17:16:50
3430
发布2020-09-08 17:16:50
举报
文章被收录于专栏:A2DataA2Data

例题引导:

【数字重复统计,以字典形式输出】 随机生成1000个数,统计20-100以内的数字,并统计出现次数

参考答案:

解题思路:先制造1000个随机数—整理随机数以便统计(排序)—构造字典—遍历随机数,通过key值确定value值—打印输出

代码语言:javascript
复制
import random  #导入随机数模块

all_nums = []   #定义空列表存储数字
for item in range(1000):   #列表长度为1000
    all_nums.append(random.randint(20,100))  #选择20-100内的随机数

# print(all_nums)  #可以先打印看一下生成的随机数
# print('**********')

sorted_nums = sorted(all_nums)   #排序
num_dict = {}  #定义空字典

for num in sorted_nums:   #循环遍历,通过key值找value
    if num in num_dict:
        num_dict[num] += 1
    else:
        num_dict[num] = 1

print(num_dict)

学习引导:

  • 数据类型-字典
    • 创建
    • 增删改查
    • 循环

数据类型-字典

关键点:

  • 健与值用冒号:分开
  • 项与项用逗号,分开

特性:

  • key-value结构;
  • key必须是不可变类型,唯一性;
  • 可存放多个value,可修改,不唯一;
  • 无序;
  • 查询速度快,不受dict大小影响;
字典的创建
代码语言:javascript
复制
#直接给出key和value
info={'name':'小王',
     'num':'20192812',
     'gender':'女'}
info
代码语言:javascript
复制
#{'name': '小王', 'num': '20192812', 'gender': '女'}

法二

代码语言:javascript
复制
#key和value分别赋值
keys=[1,2,3,4,5]
{}.fromkeys(keys)
代码语言:javascript
复制
#{1: None, 2: None, 3: None, 4: None, 5: None}
代码语言:javascript
复制
{}.fromkeys(keys,100)
代码语言:javascript
复制
#{1: 100, 2: 100, 3: 100, 4: 100, 5: 100}
字典的增加
代码语言:javascript
复制
#字典的增加
info['age']='20'
info
代码语言:javascript
复制
#{'name': '小王', 'num': '20192812', 'gender': '女', 'age': '20'}
字典的删除 pop/del/clear

法一

代码语言:javascript
复制
#字典的删除
info.pop('gender')
info
代码语言:javascript
复制
#{'name': '小王', 'num': '20192812', 'age': '20'}

法二

代码语言:javascript
复制
del info['name']
info
代码语言:javascript
复制
#{'num': '20192812', 'age': '20'}

法三

代码语言:javascript
复制
info.clear()
info
代码语言:javascript
复制
#{}
字典的修改 update
代码语言:javascript
复制
#字典的修改
dic={'name':'小王',
     'num':'20192898',
     'gender':'男'}
dic2={'name':'小王',
     'num':'20192812',
     'gender':'女',
     'age':'20'}
dic2
代码语言:javascript
复制
#{'name': '小王', 'num': '20192812', 'gender': '女', 'age': '20'}
代码语言:javascript
复制
dic.update(dic2)   #合并后重合的key被覆盖
dic
代码语言:javascript
复制
#{'name': '小王', 'num': '20192812', 'gender': '女', 'age': '20'}
查操作
代码语言:javascript
复制
#查操作
'age'in dic  #判断该元素是否在字典中
代码语言:javascript
复制
#True
代码语言:javascript
复制
'age2'in dic
代码语言:javascript
复制
#False
代码语言:javascript
复制
dic.get('name')  #读取name的值
代码语言:javascript
复制
#'小王'
代码语言:javascript
复制
dic.keys()  #获取所有key值
代码语言:javascript
复制
#dict_keys(['name', 'num', 'gender', 'age'])
代码语言:javascript
复制
dic.values()  #获取所有value值
代码语言:javascript
复制
#dict_values(['小王', '20192812', '女', '20'])
代码语言:javascript
复制
dic.items()  #以列表返回可遍历的(键, 值) 元组数组
代码语言:javascript
复制
#dict_items([('name', '小王'), ('num', '20192812'), ('gender', '女'), ('age', '20')])
字典的循环 三种

第一种

代码语言:javascript
复制
for i in dic:
    print(i)       #遍历Key值
代码语言:javascript
复制
'''
name
num
gender
age
'''

第二种

代码语言:javascript
复制
for i in dic.items():  #遍历字典
    print(i)
代码语言:javascript
复制
'''
('name', '小王')
('num', '20192812')
('gender', '女')
('age', '20')
'''

第三种

代码语言:javascript
复制
for i,j in dic.items():  #遍历字典
    print(i,j)
代码语言:javascript
复制
'''
name 小王
num 20192812
gender 女
age 20
'''
小作业

1.交换字典的key和value

2.构造一个字典,存储以下两位客人所点pizza order:

first:

guest_surname: Grand

crust: thin

toppings: mushrooms cheese onion

second:

guest_surname: Suzu

crust: thick

toppings: mushrooms onion peppers

按上述显示格式输出该字典(注意输出格式的缩进和换行)

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2020-09-07,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 DataScience 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 数据类型-字典
    • 字典的创建
      • 字典的增加
        • 字典的删除 pop/del/clear
          • 字典的修改 update
            • 查操作
              • 字典的循环 三种
                • 小作业
                领券
                问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档