字典的定义

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

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. BZOJ 1096: [ZJOI2007]仓库建设(DP+斜率优化)

    [ZJOI2007]仓库建设 Description L公司有N个工厂,由高到底分布在一座山上.如图所示,工厂1在山顶,工厂N在山脚.由于这座山处于高原内陆地区(干燥少雨),L公司一般把产品直接堆放在 ...

  2. Codeforces #1063C Dwarves, Hats and Extrasensory Abilities

    题目大意 交互题. 输出平面上的一个点的坐标,交互程序给这个点染色(白或黑). 如此重复 $n$ 次($ 1\le n \le 30$). 要求输出的 $n$ 个点各不相同,并且不论交互程序怎样给它们 ...

  3. Codeforces Round #320 (Div. 2) [Bayan Thanks-Round] E 三分+连续子序列的和的绝对值的最大值

    E. Weakness and Poorness time limit per test 2 seconds memory limit per test 256 megabytes input sta ...

  4. Java面试题之如何防止重复下单问题?

    在电商环境下,如何防止重复下单这种问题,很常见,并且解决方案有很多种,我经过百度,并且加入我的理解唠嗑几句: 流程: ①当进入商品详情页时,去生成一个全局唯一ID(可用雪花算法): ②将这个全局唯一I ...

  5. 【Codeforces Round #518 (Div. 2)】

    A:https://www.cnblogs.com/myx12345/p/9847588.html B:https://www.cnblogs.com/myx12345/p/9847590.html ...

  6. [LeetCode] Remove Duplicates from Sorted List 链表

    Given a sorted linked list, delete all duplicates such that each element appear only once. For examp ...

  7. 【Visual Studio】设置使用多字符集

  8. (二)Python selenium

    chromedriver版本    支持的Chrome版本 v2.29                     v56-58v2.28                     v55-57v2.27  ...

  9. Codeforces 901C Bipartite Segments(Tarjan + 二分)

    题目链接  Bipartite Segments 题意  给出一个无偶环的图,现在有$q$个询问.求区间$[L, R]$中有多少个子区间$[l, r]$ 满足$L <= l <= r &l ...

  10. 2016集训测试赛(二十四)Problem C: 棋盘控制

    Solution 场上的想法(显然是错的)是这样的: 我们假设棋子是一个一个地放置的, 考虑在放置棋子的过程中可能出现哪些状态. 我们令有序整数对\((i, j)\)表示总共控制了\(i\)行\(j\ ...