[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 ...
随机推荐
- unity shader之预备知识
1.渲染流水线 任务:从一个三维场景出发,生成(或者渲染)一张二维图像.即:计算机需要从一系列的定点出数据,纹理等信息出发,把这些信息最终转换程一张人眼可以看到的图像.而这个工作通常是由CPU和GPU ...
- C# - AutoMapper之不同类型的转换
一.Dto & Model约定 class TestDto { public string Name { get; set; } public int Age { get; set; } pu ...
- Delphi - Indy 创建邮件自动发送服务
服务器自动邮件线程 功能:此程序主要实现对Oracle数据库表tableName(存放需要发送邮件的相关信息)里面相关信息的邮件发送. 优点:开发人员可以直接再数据库后台对tableName表进行插入 ...
- 在.net core web 项目中操作MySql数据库(非ORM框架,原生sql语句方式)
本案例通过MySql.Data和Dapper包执行原生sql,实现对数据库的操作. 操作步骤: 第1步:在MySql数据库中新建表User(使用Navicat For MySql工具) 建表语句: c ...
- ObjectMapper
String jsonStr=""; String content=jsonStr; ObjectMapper objectMapper = new ObjectMapper(); ...
- 牛客第七场 Sudoku Subrectangles
链接:https://www.nowcoder.com/acm/contest/145/J来源:牛客网 You have a n * m grid of characters, where each ...
- 树状数组求区间和模板 区间可修改 参考题目:牛客小白月赛 I 区间
从前有个东西叫树状数组,它可以轻易实现一些简单的序列操作,比如单点修改,区间求和;区间修改,单点求值等. 但是我们经常需要更高级的操作,比如区间修改区间查询.这时候树状数组就不起作用了,只能选择写一个 ...
- CF994B Knights of a Polygonal Table 第一道 贪心 set/multiset的用法
Knights of a Polygonal Table time limit per test 1 second memory limit per test 256 megabytes input ...
- 在javascript中的浏览器兼容问题以及兼容浏览器汇总(默认事件,阻止冒泡,事件监听。。。)以及解决方式详解
在javascript中常见的浏览器兼容问题,以及解决方式. 在前端工作当中我们遵循这样的原则:渐进增强和优雅降级 渐进增强(progressive enhancement): 针对低版本浏览器进 ...
- VS Code 前端开发常用快捷键插件
一.vs code 的常用快捷键 1.注释:a) 单行注释:[ctrl+k,ctrl+c] 或 ctrl+/ b) 取消单行注释:[ctrl+k,ctrl+u] (按下ctrl不放,再按k + u) ...