字典的定义

字典是一系列键值对,字典用放在{}一系列键值对表示

info = {'first_name':'YueShang','last_name':'QIN','age':'25','city':'KunMing'}

字典增、删、改、查

增加新元素

指定字典名,用方括号括起来的键和相关的值

info['sex']='Man'

修改元素

指定字典名,用方括号括起来的键以及该键相关联的新值

info['sex']='Woman'

查询

指定字典名和放在括号中的键

print(info['sex'])

在实际使用过程中,可能一个字典包含成千上万的键值对,那么需要使用遍历才能完全访问键值

遍历所有的键值对items()

for key,value in info.items():
print("\nkey:" + key)
print("\nvalue:" + value)

遍历所有键

for key in info.keys():
print(key)

遍历所有值

for value in info.values():
print(value)

注意:在遍历的时候,如果需要对遍历的键进行排序,那么使用sorted()即可。值也一样

set()方法的使用:set()方法可以对元素去重复

set()案例

letter = {'1':'A','2':'B','3':'C','4':'A'}
for i in set(letter.values()):
print(i)

打印结果为:C A B

删除

使用del语句删除相应的键值对即可

del info['sex']

删除的键值对永远消失了

嵌套

有时候,需要将一系列字典存储在列表中,或将列表存储在字典中,这称为嵌套。

在列表中存储字典

现在有三个国家的运动员,用一个列表来存储各个国家运动员的信息

America_Player = {'name':'Tom','age':24}
China_Player = {'name':'zhangsan','age':27}
Japan_Player = {'name':'Jinshang','age':25} players = [America_Player,China_Player,Japan_Player] for palyer in players:
print(palyer)

在字典中嵌套列表

现在有2个人,分别有自己喜欢的水果列表,我们需要把这些信息全部存储起来,那么使用字典,其中元素为列表即可。

favorite_fruits = {
'zhangsan':['apple','pear'],
'lisi':['orange','apple']
}
for name,fruits in favorite_fruits.items():
print("\n"+name.title()+"'s favorite fruits are:")
for fruit in fruits:
print("\n"+fruit.title())

在字典中嵌套字典

以下是2个网站,分别对应不同的用户名,把字典存储到字典中即可满足这个需求

users = {
'website1':{
'name':'zhangsan',
'password':'123'
},
'website2': {
'name': 'lisi',
'password': '456'
}
} for Website,LoginInfo in users.items():
print("\nWebsite:"+Website)
print("\tUsername:"+LoginInfo['name'])
print("\tPassword:" + LoginInfo['password'])

【Python】字典~深入篇的更多相关文章

  1. python 字典dict和列表list的读取速度问题, range合并

    python 字典和列表的读取速度问题 最近在进行基因组数据处理的时候,需要读取较大数据(2.7G)存入字典中,然后对被处理数据进行字典key值的匹配,在被处理文件中每次读取一行进行处理后查找是否在字 ...

  2. Python+Selenium练习篇之1-摘取网页上全部邮箱

    前面已经介绍了Python+Selenium基础篇,通过前面几篇文章的介绍和练习,Selenium+Python的webUI自动化测试算是入门了.接下来,我计划写第二个系列:练习篇,通过一些练习,了解 ...

  3. python字典改变value值方法总结

    今天这篇文章中我们来了解一下python之中的字典,在这文章之中我会对python字典修改进行说明,以及举例说明如何修改python字典内的值.我们开始进入文章吧. 首先我们得知道什么是修改字典 修改 ...

  4. Python字典实现

    这篇文章描述了在Python中字典是如何实现的. 字典通过键(key)来索引,它可以被看做是关联数组.我们在一个字典中添加3个键/值对: >>> d = {'a': 1, 'b': ...

  5. 《python开发技术详解》|百度网盘免费下载|Python开发入门篇

    <python开发技术详解>|百度网盘免费下载|Python开发入门篇 提取码:2sby  内容简介 Python是目前最流行的动态脚本语言之一.本书共27章,由浅入深.全面系统地介绍了利 ...

  6. 自己动手实现 HashMap(Python字典),彻底系统的学习哈希表(上篇)——不看血亏!!!

    HashMap(Python字典)设计原理与实现(上篇)--哈希表的原理 在此前的四篇长文当中我们已经实现了我们自己的ArrayList和LinkedList,并且分析了ArrayList和Linke ...

  7. Python字典和集合

    Python字典操作与遍历: 1.http://www.cnblogs.com/rubylouvre/archive/2011/06/19/2084739.html 2.http://5iqiong. ...

  8. python 字典排序 关于sort()、reversed()、sorted()

    一.Python的排序 1.reversed() 这个很好理解,reversed英文意思就是:adj. 颠倒的:相反的:(判决等)撤销的 print list(reversed(['dream','a ...

  9. python字典中的元素类型

    python字典默认的是string item={"browser " : 'webdriver.irefox()', 'url' : 'http://xxx.com'} 如果这样 ...

  10. python字典copy()方法

    python 字典的copy()方法表面看就是深copy啊,明显独立 d = {'a':1, 'b':2} c = d.copy() print('d=%s c=%s' % (d, c)) Code1 ...

随机推荐

  1. hdu6212[区间dp] 2017青岛ACM-ICPC网络赛

    原题: BZOJ1032 (原题数据有问题) /*hdu6212[区间dp] 2017青岛ACM-ICPC网络赛*/ #include <bits/stdc++.h> using name ...

  2. Beads

    Beads 题目描述 Zxl有一次决定制造一条项链,她以非常便宜的价格买了一长条鲜艳的珊瑚珠子,她现在也有一个机器,能把这条珠子切成很多块(子串),每块有k(k>0)个珠子,如果这条珠子的长度不 ...

  3. [寒假集训第一场]gym101606 2017 United Kingdom and Ireland Programming Contest (UKIEPC 2017)

    3星场 难度在于英文题面太难读懂了QAQ 看样例猜题意的我 博客园的c++主题真丑 A Alien Sunset \(description\) 有\(n\)个星球,每个星球自转时间不一样,所以一天的 ...

  4. react 基础语法复习1- 搭建开发环境

    之前有看过阮一峰老师的react教程跟着做了一遍,学习了一下.好久没看,有点忘记了,这次跟着脚手架工具系统的复习一遍.顺便学习学习 react-router 和 redux 首先,脚手架工具我使用的是 ...

  5. Java-01背包问题-动态规划-递归和非递归实现

    国际惯例,先上代码,粗略分析: package com.bag; /** * Author: lihao * Date:2017/8/31 * Description: */ public class ...

  6. 调用Outlook发送邮件

    #region 查找与指定文件关联在一起的程序的文件名 /// <summary> /// 查找与指定文件关联在一起的程序的文件名 /// </summary> /// < ...

  7. 802.11 MAC层

    1. 介绍 本文主要介绍了802.11 MAC层 2. 访问机制 CSMA/CA:  Carrier Sense Multiple Access with Collision Avoidance Wi ...

  8. manjaro中okular中的pdf文件无法显示中文

    最近发现Manjaro下用Okular打开含有中文的PDF文档时,许多地方显示空白, 开始怀疑是中文字体问题,但是其他的软件中文显示都是正常的. 接着,调整Okular中的中文字体,显示还是不正常. ...

  9. MySQL完整备份,还原

    # 备份 添加编码 --default-character-set=utf8 防止中文乱码 把.sql文件导入MySQL, 汉字出现乱码?在.sql文件头中添加:set names 'gbk'; 或  ...

  10. Ubuntu FireFox的“后退”按钮与Backspace键

    我们都知道,大部分的网页浏览器和窗口管理器的“后退”按钮是和Backspace键关联的,这样会极大的方便并加快我们浏览时的翻页速度(我一直是左手 放在键盘上按快捷键,右手鼠标的姿势找文件和看网页的,省 ...