一.定义与概念

1.字典是针对非序列集合而提供的一种数据类型

举例:检索学生信息。

“<键><值>对”。

键(即身份证号码) 值(即学生信息)。

“键值对”例子

姓名和电话号码

用户名和密码

国家名称和首都等。

通过任意键信息查找一组数据中值信息的过程叫映射,Python语言中通过字典实现映射。

Python语言中的字典可以通过大括号{ }建立,建立模式如下: {<键1>:<值1>, <键2>:<值2>, … , <键n>:<值n>} 其中,键和值通过冒号连接,不同键值对通过逗号隔开。 字典是键值对的无序可变集合。

字典中的每个元素包含两部分:键和值,向字典添加一个键的同时,必须为该键增添一个值。

字典中的键可以为任意不可变数据,比如整数、实数、复数、字符串、元组等等。

字典中的键不允许重复。

字典打印出来的顺序与创建之初的顺序不同,这不是错误。字典是集合类型的延续,各个元素并没有顺序之分。

字典主要的用法是查找与特定键相对应的值,通过索引符号来实现。

>>>Dcountry["中国"] '北京'

一般来说,字典中键值对的访问模式如下,采用中括号格式: <值> = <字典变量>[<键>] 字典中对某个键值的修改可以通过中括号的访问和赋值实现:

>>>Dcountry["中国"]='大北京'

>>>print(Dcountry) {'中国': '大北京', '法国': '巴黎', '美国': '华盛顿'}

2.字典类型与序列类型的区别:

存取和访问方式不同

键的类型不同 序列类型只能用数字类型的键(下标) 字典类型可以用其他对象类型作键

排列方式不同 序列类型保持了元素的相对关系 而字典中的数据是无序排列的

映射方式不同 序列类型通过地址映射到值 字典类型通过键直接映射到值

二.字典的操作

1.创建于删除

使用=将一个字典赋值给一个变量

使用内置函数dict()利用已有数据创建字典

使用dict根据给定的键-值对创建字典 以给定内容为键,创建值为空的字典(fromkeys)

使用del删除整个字典

2.基本操作方法

3.元素的读取

以键作为下标可以读取字典元素,若键不存在则抛出异常

使用字典对象的get方法获取指定键对应的值,并且可以在键不存在的时候返回指定值。

使用字典对象的items方法可以返回字典的键、值对列表

使用字典对象的keys方法可以返回字典的键列表

使用字典对象的values方法可以返回字典的值列表

4.元素的添加与修改

当以指定键为下标为字典赋值时,若键存在,则可以修改该键的值;若不存在,则表示添加一个键、值对。

使用字典对象的update方法将另一个字典的键、值对添加到当前字典对象

使用del删除字典中指定键的元素

使用字典对象的clear方法来删除字典中所有元素

使用字典对象的pop方法删除并返回指定键的元素

使用字典对象的popitem方法删除并返回字典中的任意一个元素

5.字典元素的遍历

与其他组合类型一样,字典可以通过for…in语句对其元素进行遍历,基本语法结构如下:

for <变量名> in <字典名>: 语句块

>>>for key in Dcountry:

print(key)

中国

美国

法国

遍历字典的键

key for key in dictionaryName.keys():

print(key)

遍历字典的值

value for value in dictionaryName.values():

print(value)

遍历字典的项

for item in dicitonaryName.items():

print(item)

遍历字典的

key-value for key,value in dicitonaryName.items():

print(key, value)

字典是实现键值对映射的数据结构,请理解如下基本原则:

字典是一个键值对的集合,该集合以键为索引,一个键信息只对应一个值信息;

字典中元素以键为索引访问;

字典长度是可变的,可以通过对键信息赋值实现增加或修改键值对。

三.操作实例

1.首先生成包含1000个随机字符的字符串,然后统计每个字符的出现次数。

import string

import random

x = string.ascii_letters

y = ''.join((random.choice(x) for i in range(1000)))

d = dict()

for ch in y:

d[ch] = d.get(ch,0)+1

dd = sorted(d.items(), key=lambda item:item[1], reverse=True)#排序
print(dd[:3])#打印出排名前三的

转载于:https://www.cnblogs.com/wkfvawl/p/9075188.html

Python—字典(当索引不好用时)相关推荐

  1. 小甲鱼python的课后题好难_小甲鱼《零基础学习Python》课后笔记(二十六):字典——当索引不好用时2...

    测试题 0.Python的字典是否支持一键(Key)多值(Value)? 不支持.对相同的键赋值会覆盖原来的值.>>> dict2 = {1:'one',1:'two',3:'thr ...

  2. Python 字典:当索引不好用时

    字典:当索引不好用时 我们已经了解到,列表这种数据结构适用于将值组织到一个结构中,并且通过编号对其引用.本章学习一种通过`名字来引用值的数据结构.这种类型的数据结构称为映射.字典是Python中唯一内 ...

  3. P27 026字典:当索引不好用时1----20201005

    这里写目录标题 P27 026字典:当索引不好用时1----20201005 P31 030文件系统:介绍一个高大上的东西1006 P32 031永久存储:研制一缸美味的泡菜1006 P33 032异 ...

  4. Python基础教程:字典(当索引不好用时)

    一.定义与概念 1.字典是针对非序列集合而提供的一种数据类型 举例:检索学生信息. "<键><值>对". 键(即身份证号码) 值(即学生信息). " ...

  5. python 小甲鱼 好不好_[Python]小甲鱼Python视频第025课(字典:当索引不好用时)课后题及参考解答...

    # -*- coding: utf-8 -*- """ Created on Fri Mar 8 10:04:08 2019 @author: Administrator ...

  6. [Python]小甲鱼Python视频第026课(字典:当索引不好用时2)课后题及参考解答

    # -*- coding: utf-8 -*- """ Created on Fri Mar 8 10:32:20 2019@author: Administrator ...

  7. python学习笔记之三:字典,当索引不好用时

    字典是python中唯一内建的映射类型.字典中的值并没有特殊的顺序,但是都存储在一个特定的键(key)里. 键可以是数字,字符串甚至是元组. 1. 创建和使用字典 字典可以通过下面的方式创建: pho ...

  8. 零基础入门学习Pyhton(23)字典:当索引不好用时

    Python中的字典 Python的字典把这个字称为"键"(key),把其对应的含义称为"值(value)" Python的字典在有些地方称为哈希(hash) ...

  9. 11.字典:当索引不好用时

    字典:key–value 字典不是序列类型,它是映射类型 (1)创建字典 ① >>> dict = {} #空字典 >>> dict {} ②直接按照字典的格式定义 ...

  10. python字典的遍历方式:向列表一样通过索引遍历字典的值

    python字典的遍历方式 一.常规遍历方式 (一)遍历字典的项 (二)遍历字典的键 (三)遍历字典的值 (四)遍历字典的键值对 二.向列表一样通过索引遍历字典的值 一.常规遍历方式 参见:<p ...

最新文章

  1. 加密解密-DES算法和RSA算法
  2. Jdbc访问mysql查询聚合函数_JDBC连接参数设置对Oracle数据库的影响分析
  3. Android 一直往文件写数据_( 十 ) 小众但好用:通过 Google drive 备份与同步 Keepass 数据库...
  4. 简洁的网页跑丢了动态动画404页面源码
  5. Win32汇编——过程控制(进程调试和进程隐藏)
  6. 查看IIS哪个应用程序池占用CPU过高
  7. 漫画小程序支持流量主,自动采集资源,漫画源码漫画小程序源码简单即可发布
  8. Android 4.2蓝牙介绍
  9. 使用html查看dicom,LEADTOOLS构建HTML5 DICOM/PACS查看器(二)
  10. Android知识梳理:点击事件分发机制
  11. 微信公众号订阅号与微信服务号有什么不同
  12. 过滤器(Filter)解决跨域问题
  13. node之cookie-parser
  14. n11mysql表设计_n11(n11数据库管理工具)
  15. PHP税前税后,请问下大家 怎么根据税后工资1万元推算出税前工资是多少
  16. 线性非齐次微分方程的求解套路
  17. MUR6060PT-ASEMI快恢复二极管MUR6060PT
  18. jdbc mysql emoji 读取_mysql+jdbc的emoji异常问题
  19. 基于AD Event日志检测LSASS凭证窃取攻击
  20. toolkit-frame之toolkit-sprider(数据采集)---笔趣阁小说

热门文章

  1. 【javascript】ajax 基础(转)
  2. Pycharm如何调整代码颜色以及字体样式
  3. 一张图看懂AI、机器学习和深度学习的区别
  4. ERNIE 3.0 | 刷榜了!60多项任务取得最好效果
  5. 腾讯专注关键词的深度语义匹配模型
  6. 【Linux】肝!Shell 脚本编程最佳实践
  7. 191030_Lda主题模型
  8. 我大意了,刚一放出来就上了牛客网头条了
  9. 《Effective Python 2nd》 读书笔记——函数
  10. 如何成为一名合格的CRUD工程师?