Python中的字典与现实中字典类似,从字典中可以找到“”字:鱼类是体被骨鳞、以鳃呼吸、通过尾部和躯干部的摆动以及鳍的协调作用游泳和凭上下颌摄食的变温水生脊椎动物。类比到Python的字典中,把“鱼”这个字称为“键(key)”,把其对应的含义称为“值(value)”。

  字典是Python中唯一的映射类型,映射是数学上的一个术语,指两个元素集之间相互对应的关系。

  

  字典的几种创建方法

 dict1=dict((('F',70),('i',105),('s',115),('h',104),('c',67)))
dict2=dict(F=70,I=105,S=115,H=104,C=67)
dict3=dict((('F',70),('I',105),('S',110)))

  字典的内置方法:

  1.fromkeys()

  fromkeys()方法用于创建并返回一个新的字典,有两个参数,第一个是字典的键,第二个是可选的值,若不输入则默认为None。

dict3={}
print(dict3.fromkeys((1,2,3)))
dict4={}
print(dict4.fromkeys((1,2,3),"Number"))

  输出结果则是:

  {1: None, 2: None, 3: None}
  {1: 'Number', 2: 'Number', 3: 'Number'}

  2.keys(),values(),items()

  keys()用于返回字典中的键,values()用于返回字典中的所有的值,items()用于返回字典中所有的键值对应关系。

dict5={}
dict5=dict5.fromkeys(range(5),"")
print(dict5.keys())
print(dict5.values())
print(dict5.items())

  输出结果是:

  dict_keys([0, 1, 2, 3, 4])
  dict_values(['1', '1', '1', '1', '1'])
  dict_items([(0, '1'), (1, '1'), (2, '1'), (3, '1'), (4, '1')])

  3.get()

  如果直接访问不存在的字典项:

dict5={}
dict5=dict5.fromkeys(range(5),"")
print(dict5[5]);

  则会报错:

  Traceback (most recent call last):
     File "D:/python/test.py", line 3, in <module>
    print(dict5[5]);
  KeyError: 5

  get()方法提供了更宽松的访问字典的方法,如果访问字典项不存在不会报错,而是返回一个None值:

dict5={}
dict5=dict5.fromkeys(range(5),"")
print(dict5.get(5));

  结果返回None。

  4.copy()  复制字典

a={1:"one",2:"two",3:"three"}
b=a.copy()
print(b,"")
a.clear()
print(b,"")

  

  5.pop()和popitem()

  pop()是给定键弹出对应值,而popitem是弹出一个项。

a={1:"one",2:"two",3:"three",4:"four"}
print(a.pop(2))
print(a)
print(a.popitem(),a.popitem())
print(a)

  结果:

  two
  {1: 'one', 3: 'three', 4: 'four'}
  (4, 'four') (3, 'three')
  {1: 'one'}

  

  6.update()

  用来更新字典。

pets={"米奇":"老鼠","汤姆":"猫","小白":"猪"}
print(pets)
pets.update(小白="狗")
print(pets)

[Python]字典的简单用法的更多相关文章

  1. python lambda表达式简单用法【转】

    python lambda表达式简单用法 1.lambda是什么? 看个例子: g = lambda x:x+1 看一下执行的结果: g(1) >>>2 g(2) >>& ...

  2. python timeit模块简单用法

    timeit模块提供了一种简便的方法来为Python中的小块代码进行计时. 模块调用函数,stmp为要测试的函数,setup为测试环境,number为运行次数 timeit.timeit(stmt=) ...

  3. Python字典的一点用法

    #python的基本语法网上已经有很多详细的解释了,写在这里方便自己记忆一些 字典是一种映射类型的数据结构,(映射一般是数学中的术语,指两个元素之间元素相互对应的关系).字典和序列有很大的不同,序列类 ...

  4. Python Lambda 的简单用法

    下面代码简单举例介绍以下 lambda的用法. from functools import reduce #1 python lambda会创建一个函数对象,但不会把这个函数对象赋给一个标识符,而de ...

  5. python lambda表达式简单用法

    习条件运算时,对于简单的 if else 语句,可以使用三元运算来表示,即: 1 2 3 4 5 6 7 8 # 普通条件语句 if 1 == 1:     name = 'wupeiqi' else ...

  6. python 字典实现简单购物车

    # -*- coding: utf-8 -*-#总金额asset_all=0i1=input('请输入总资产:')asset_all=int(i1)#商品列表goods=[ {'name':'电脑', ...

  7. python,os.path简单用法

    #首先导入os包 import os#引入time模块是因为需要将浮点型的时间转为东八区时间 import time # basename(path),去掉路径名称,单独返回文件名 f = os.pa ...

  8. python 虚拟环境 venv 简单用法

    Python3.3以上的版本通过venv模块原生支持虚拟环境,可以代替Python之前的virtualenv.该venv模块提供了创建轻量级“虚拟环境”,提供与系统Python的隔离支持.每一个虚拟环 ...

  9. Python - Django - Cookie 简单用法

    home.html: <!DOCTYPE html> <html lang="en"> <head> <meta charset=&quo ...

随机推荐

  1. C#ORM中的对象映射

    使用Linq.Expressions来动态生成映射方法 1.我们先写个简单的类Test,包含一个ID和Name. public class Test { public int? ID { get; s ...

  2. Liunx软件安装之MySQL

    一.安装MySQL 1.1 配置 yum 源 centos 默认没有 MySQL 的 yum 源,所以需要先配置 yum 源. 1) 前往 官网,选择对应系统版本 2) 右键复制链接 3) 在 cen ...

  3. lua_在C#中执行lua脚本

    方法一:使用DoString 代码为: Lua lua = new Lua();            lua.DoString("a=13");            lua.D ...

  4. SpringMVC中的generator

    引言 今天在做一个原生的spring项目的时候碰到一个非常好用的代码自动生成器,叫做generator,主要是运用于mybatis中的代码生成,它可以生成mapper的映射xml,model中的实体类 ...

  5. 手把手教你用深度学习做物体检测(七):YOLOv3介绍

    YOLOv3 论文:< YOLOv3: An Incremental Improvement > 地址: https://arxiv.org/pdf/1804.02767.pdfyolov ...

  6. JPA多条件复杂SQL动态分页查询

    概述 ORM映射为我们带来便利的同时,也失去了较大灵活性,如果SQL较复杂,要进行动态查询,那必定是一件头疼的事情(也可能是lz还没发现好的方法),记录下自己用的三种复杂查询方式. 环境 spring ...

  7. SDU暑期集训排位(5)

    SDU暑期集训排位(5) A. You're in the Army Now 题意 类似选志愿.每个人有 mark,有优先级从高到低的志愿. 做法 定睛一看,鲨鼻题.然后 WA. 为什么会 WA 呢? ...

  8. 模板汇总——splay

    #define lch(x) tr[x].son[0] #define rch(x) tr[x].son[1] ; , root; struct Node{ ], pre, sz; void init ...

  9. bzoj5072 小A的树 题解

    题意 给出一棵 n 个点的树,每个点有黑白两种颜色.q 次询问,每次 询问给出 x 和 y,问能否选出一个 x 个点的联通子图,使得其中 黑点数目为 y. 范围 n ≤ 5000,q ≤ 10^5 其 ...

  10. Java微服务(二):服务消费者与提供者搭建

    本文接着上一篇写的<Java微服务(一):dubbo-admin控制台的使用>,上篇文章介绍了docker,zookeeper环境的安装,并参考dubbo官网演示了dubbo-admin控 ...