[Python]字典的简单用法
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]字典的简单用法的更多相关文章
- python lambda表达式简单用法【转】
python lambda表达式简单用法 1.lambda是什么? 看个例子: g = lambda x:x+1 看一下执行的结果: g(1) >>>2 g(2) >>& ...
- python timeit模块简单用法
timeit模块提供了一种简便的方法来为Python中的小块代码进行计时. 模块调用函数,stmp为要测试的函数,setup为测试环境,number为运行次数 timeit.timeit(stmt=) ...
- Python字典的一点用法
#python的基本语法网上已经有很多详细的解释了,写在这里方便自己记忆一些 字典是一种映射类型的数据结构,(映射一般是数学中的术语,指两个元素之间元素相互对应的关系).字典和序列有很大的不同,序列类 ...
- Python Lambda 的简单用法
下面代码简单举例介绍以下 lambda的用法. from functools import reduce #1 python lambda会创建一个函数对象,但不会把这个函数对象赋给一个标识符,而de ...
- python lambda表达式简单用法
习条件运算时,对于简单的 if else 语句,可以使用三元运算来表示,即: 1 2 3 4 5 6 7 8 # 普通条件语句 if 1 == 1: name = 'wupeiqi' else ...
- python 字典实现简单购物车
# -*- coding: utf-8 -*-#总金额asset_all=0i1=input('请输入总资产:')asset_all=int(i1)#商品列表goods=[ {'name':'电脑', ...
- python,os.path简单用法
#首先导入os包 import os#引入time模块是因为需要将浮点型的时间转为东八区时间 import time # basename(path),去掉路径名称,单独返回文件名 f = os.pa ...
- python 虚拟环境 venv 简单用法
Python3.3以上的版本通过venv模块原生支持虚拟环境,可以代替Python之前的virtualenv.该venv模块提供了创建轻量级“虚拟环境”,提供与系统Python的隔离支持.每一个虚拟环 ...
- Python - Django - Cookie 简单用法
home.html: <!DOCTYPE html> <html lang="en"> <head> <meta charset=&quo ...
随机推荐
- Eclipse中安装JRebel热部署教程
Eclipse中安装JRebel热部署教程 前言 Eclipse安装JRebel插件可快速实现热部署,节省了大量重启时间,提高开发效率. 本文只介绍Eclipse安装JRebel插件版本 ...
- java.lang.TypeNotPresentException: Type javax.xml.bind.JAXBContext not present解决方案
因为JAXB-API是java ee的一部分,在jdk9中没有在默认的类路径中: java ee api在jdk中还是存在的,默认没有加载而已,jdk9中引入了模块的概念,可以使用 模块命令--add ...
- PHP 递归读取无限级分类
/** * [获取第一级分类] * 20170829 * * @return array */ public function getCateList(){ $this->catelog = [ ...
- vue 自动化路由实现
1.需求描述 在写vue的项目中,一般情况下我们每添加一个新页面都得添加一个新路由.为此我们在项目中会专门的一个文件夹来管理路由,如下图所示 那么有没有一种方案,能够实现我们在文件夹中新建了一个vue ...
- cogs249 最长公共子串(后缀数组 二分答案
http://cogs.pro:8080/cogs/problem/problem.php?pid=pxXNxQVqP 题意:给m个单词,让求最长公共子串的长度. 思路:先把所有单词合并成一个串(假设 ...
- POJ-2018 Best Cow Fences 二分
题意:找到一个连续区间,区间的长度至少大于f,现在要求这个区间的平均值最大. 题解: 二分找答案. 每次对于2分的mid值, 都把原来的区间减去mid, 然后找到一长度至少为f的区间, 他们的区间和& ...
- 工作中遇到的99%SQL优化,这里都能给你解决方案(三)
-- 示例表 CREATE TABLE `employees` ( `id` int(11) NOT NULL AUTO_INCREMENT, `name` varchar(24) NOT NULL ...
- nvm 管理多个活动的node.js版本
前序:最近在使用taro框架开发小程序,因为安装taro时遇到一些问题,后来重新安装了node版本——v10.16.3,却影响了我本地开发的项目,故此使用nvm来管理node的版本,更加灵活的切换以支 ...
- 一起来读Netty In Action之传输(三)
当我们的应用程序需要接受比预期多很多的并发连接的时候,我们需要从阻塞传输切换到非阻塞传输上去,如果是我们的网络编程是基于jdk提供的API进行开发地的话,这种传输模式的切换几乎要我们重构整个网络传输相 ...
- 【Spring】 IOC Base
一.关于容器 1. ApplicationContext和BeanFactory 2. 配置文件 XML方式 Java-configuration 方式 @Configuration 3. 初始化容器 ...