days2 字典

定义一个叫做name的字典
>>> name = {
...     1860:{
...         "name":"wangfei",
...         "age":18,
...         "addr":"hangzhou"
...     },
...     1861:{
...         "name": "lisi",
...         "age": 19,
...         "addr": "chuzhou"
...     },
...     1862: {
...         "name": "wanger",
...         "age": 20,
...         "addr": "hefei"
...     },
...     1863: {
...         "name": "wangerma",
...         "age": 23,
...         "addr": "beijing"
...     },
... }
>>> print (name)
{1860: {‘age‘: 18, ‘name‘: ‘wangfei‘, ‘addr‘: ‘hangzhou‘}, 1861: {‘age‘: 19, ‘name‘: ‘lisi‘, ‘addr‘: ‘chuzhou‘}, 1862: {‘age‘: 20, ‘name‘: ‘wanger‘, ‘addr‘: ‘hefei‘}, 1863: {‘age‘: 23, ‘name‘: ‘wangerma‘, ‘addr‘: ‘beijing‘}}
>>> 

我想从字典name里取出id为1861的name的值
>>> print (name[1861]["name"])
lisi

修改id为1861的name对应的值为wangerma
>>> print (name[1861]["name"])
wangerma

在id为1861的小字典里添加一个新的信息,mobile 
注意:字典是无序的
>>> name[1861]["mobile"] = 18696511327 
>>> print (name[1861])
{‘age‘: 19, ‘mobile‘: 18696511327, ‘name‘: ‘wangerma‘, ‘addr‘: ‘chuzhou‘}
>>> 

删除字典中的元素(有2中方法,.pop 和del, 建议使用del来删除。)
del方式(推荐使用)
>>> del name[1861]["mobile"]
>>> print (name[1861])      
{‘age‘: 19, ‘name‘: ‘wangerma‘, ‘addr‘: ‘chuzhou‘}

pop方式(不推荐使用)
>>> name[1861].pop("addr")
‘chuzhou‘
>>> name[1861]
{‘age‘: 19, ‘name‘: ‘wangerma‘}

获取字典中某个值
2种方式
get方式获取
>>> name.get(1861) 
{‘age‘: 19, ‘name‘: ‘wangerma‘}

下标方式获取
>>> name[1861]
{‘age‘: 19, ‘name‘: ‘wangerma‘}

update语句,将新字典中的值更新到旧的字典中,如果旧的字典中有就覆盖,没有就添加。
现在定义一个新的字典
>>> dic2 = {
...     "name":"hellow",
...     1862: {
...         "name": "wanger",
...         "age": 20,
...         "addr": "hefei"
...     },
... }
>>> name.update(dic2)
发现新的数据被添加,原先存在的数据被覆盖
>>> name
{1860: {‘age‘: 18, ‘name‘: ‘wangfei‘, ‘addr‘: ‘hangzhou‘}, 1861: {‘age‘: 19, ‘name‘: ‘wangerma‘}, 1862: {‘age‘: 20, ‘name‘: ‘wanger‘, ‘addr‘: ‘hefei‘}, 1863: {‘age‘: 23, ‘name‘: ‘wangerma‘, ‘addr‘: ‘beijing‘}, ‘name‘: ‘hellow‘}

items 将字典中的数据转换为列表
注意:在字典的数据量比较大的时候不要这么做,比较耗时。
>>> name.items()
dict_items([(1860, {‘age‘: 18, ‘name‘: ‘wangfei‘, ‘addr‘: ‘hangzhou‘}), (1861, {‘age‘: 19, ‘name‘: ‘wangerma‘}), (1862, {‘age‘: 20, ‘name‘: ‘wanger‘, ‘addr‘: ‘hefei‘}), (1863, {‘age‘: 23, ‘name‘: ‘wangerma‘, ‘addr‘: ‘beijing‘}), (‘name‘, ‘hellow‘)])

values 打印字典所有的值
>>> name.values()
dict_values([{‘age‘: 18, ‘name‘: ‘wangfei‘, ‘addr‘: ‘hangzhou‘}, {‘age‘: 19, ‘name‘: ‘wangerma‘}, {‘age‘: 20, ‘name‘: ‘wanger‘, ‘addr‘: ‘hefei‘}, {‘age‘: 23, ‘name‘: ‘wangerma‘, ‘addr‘: ‘beijing‘}, ‘hellow‘])

keys 打印字典所有的key
>>> name.keys()
dict_keys([1860, 1861, 1862, 1863, ‘name‘])

判断字典中的key在字典中是否存在
>>> 1861 in name
True

setdefault 判断字典中的值是否存在,如果不存在就返回默认的值none
>>> name.setdefault(1861,"none")   
{‘age‘: 19, ‘name‘: ‘wangerma‘}
>>> name.setdefault(1869,"none")
‘none‘
>>> 

将列表中的元素取出来,作为key,值为values(请不要用,了解即可)
>>> dict.fromkeys([1,2,3,4,5],"hehe")
{1: ‘hehe‘, 2: ‘hehe‘, 3: ‘hehe‘, 4: ‘hehe‘, 5: ‘hehe‘}

遍历字典,有2种方法。建议是方法二,第一种方法效率低。

方法一
>>> for key,values in name.items():
...     print (key, values)
... 
1860 {‘age‘: 18, ‘name‘: ‘wangfei‘, ‘addr‘: ‘hangzhou‘}
1861 {‘age‘: 19, ‘name‘: ‘wangerma‘}
1862 {‘age‘: 20, ‘name‘: ‘wanger‘, ‘addr‘: ‘hefei‘}
1863 {‘age‘: 23, ‘name‘: ‘wangerma‘, ‘addr‘: ‘beijing‘}
1878788 none
name hellow
1869 none
1878 ok
>>> 
  
方法二
>>> for key in name:
...     print (key, name[key])
... 
1860 {‘age‘: 18, ‘name‘: ‘wangfei‘, ‘addr‘: ‘hangzhou‘}
1861 {‘age‘: 19, ‘name‘: ‘wangerma‘}
1862 {‘age‘: 20, ‘name‘: ‘wanger‘, ‘addr‘: ‘hefei‘}
1863 {‘age‘: 23, ‘name‘: ‘wangerma‘, ‘addr‘: ‘beijing‘}
1878788 none
name hellow
1869 none
1878 ok
>>>
时间: 2024-10-14 12:46:53

days2 字典的相关文章

python--15 字典:当索引不好用

字典是python唯一的影射类型 hash >>> brand = ['李宁', '耐克', '阿迪达斯'] >>> slogan = ['一切皆有可能', 'Just do it','Impossible is nothing'] >>> print('李宁的口号是:',slogan[brand.index('李宁')]) 李宁的口号是: 一切皆有可能 字典不是序列类型 ,是映射类型 字符串 列表 元组是序列类型 创建和访问索引   标志性符号--花

如何通过字典表来获取下拉数据的实现

①在web.xml中添加监听,启动的时候初始化. <!--Web ApplicationContext 载入,继承处Spring的ApplicationContextListener --> <listener> <listener-class>cn.sccl.common.web.StartupListener</listener-class> </listener> ②我们需要在启动Tomcat的时候,初始化bizCode数据 package

字典及其方法

常用操作: 索引 get,has_key, 新增 setdefalt,update, 删除 pop,popitem,clear 键.值.键值对 items,values,values 循环  for i in info: print(i,info[i])for k,v in info.items(): print(k,v) 长度 len 字典方法 dic.clear() #删除字典中所有项 dic.copy() #复制列表中所有项 dic.fromkeys(S[,v]) #新建字典,键为S,值为

SQL Server2005+、MySQL、Oracle 数据库字典生成工具

之前找的数据库字典生成工具基本上都依赖于 Office Com 组件,在不安装 Office的情况下无法使用.怒,于是自己用C# 写了一个. 特征如下:    一.支持的数据库 MS SQL Server 2005+.My Sql.Oracle    二.支持的文档类型 Html.CHM.Docx    三.无需安装Office即可生成 Docx 格式的Word文件    四.基于 .net framework 3.5 框架,电脑上需要安装 .net framework 3.5.       

python基础:python循环、三元运算、字典、文件操作

目录: python循环 三元运算 字符串 字典 文件操作基础 一.python编程 在面向过程式编程语言的执行流程中包含: 顺序执行 选择执行 循环执行 if是条件判断语句:if的执行流程属于选择执行:if语句有三种格式,如下: 在多分支的if表达式中,即使多个条件同时为真,也只会执行一个,首先测试为真: 选择执行 单分支的if语句 if CONDITION: 条件为真分支 双分支的if语句 if CONDITION 条件为真分支 else 条件不满足时分支 多分支的if语句 if CONDI

按照字典排序

按照字典排序, 按照字典的value排序,类似sort -k命令 import operator x = {1:2,3:4, 4:3, 2:1, 0:0} sorted x =sorted(x.iteritems(), key = operator.itemgetter(1)) 0表示根据key排序,1表示根据value排序 In [33]: sorted(x.iteritems(),key=operator.itemgetter(0))                             

hdu 1251 统计难题(字典树)

Problem Description Ignatius最近遇到一个难题,老师交给他很多单词(只有小写字母组成,不会有重复的单词出现),现在老师要他统计出以某个字符串为前缀的单词数量(单词本身也是自己的前缀). Input 输入数据的第一部分是一张单词表,每行一个单词,单词的长度不超过10,它们代表的是老师交给Ignatius统计的单词,一个空行代表单词表的结束.第二部分是一连串的提问,每行一个提问,每个提问都是一个字符串. 注意:本题只有一组测试数据,处理到文件结束. Output 对于每个提

bing的简单英文字典工具

今天看到园友心白水撰写的<简单翻译工具--必应字典第三方API使用方法>,感觉很不错,所以用Python也写了一个.源码如下: 1 import urllib.request 2 import json 3 4 serviceurl='http://xtk.azurewebsites.net/BingDictService.aspx?Word=' 5 6 while True: 7 word = input('请输入英文单词: ') 8 if len(word) < 1 : 9 brea

无线安全专题_破解篇03--打造个人字典

上一篇讲解了如何通过Kali破解Pin码,今天继续无线安全专题破解篇的第三讲:打造个人字典.通过第一课,我们知道想要破解WPA加密,需要一个强大的字典.字典的强大直接决定了破解的可能性,废话不多说,咱们就学习一下怎么使用kali中的工具生打造个人字典.  一.crunsh工具介绍 今天主要说的是crunsh这款工具,专门用来生成字典. 命令参数: -b              #体积大小,比如-b 20mib 或者 -b 20kib -c              #密码个数(行数),比如80