字典

  • 在python中,字典是一系列键-值对,每个键都与一个值相关联,可使用键来访问相关联的值。与键相关联的值可以是数字、字符串、列表乃至字典,即可将任何python对象用在字典中的值。
  • 在python中,字典用放在花括号{}中的一系列键-值对表示。
alien_o = {'color':'green','points':'5'}
  • 键值对是两个相关联的值,指定键时,将返回与之相关联的值。键与值之间用冒号隔开,而键值对之间用逗号分割。在字典中,想存储多少个键值对都可以。
  • 最简单的是只有一个键值对
alien_o = {'color':'green'}
  • 要获取与键相关联的值,可依次指定字点明和放在方括号中的键,如下所示:
alien_o = {'color':'green'}
print(alien_o['color'])#获取键‘color’的值
green
  • 还可打印出消息
alien_o = {'color':'green','points':'5'}
new = alien_o['points']#将键‘points’的值赋给变量new
print("You just earned " + str(new) + " points! ")#打印出信息
You just earned 5 points!

字典更新

字典的更新很简单只需要将值赋给一个键即可,若指定的键已经存在,python就会修改与之相关联的值

birds = {}#空字典
birds['snow goose']=33
birds['eagle']= 44
birds
{'eagle': 44, 'snow goose': 33}
birds['eagle']=99#修改键‘eagle’的值为99
birds
{'eagle': 99, 'snow goose': 33}

字典循环

与列表一样,同样用for语句将字典中的键逐个赋值给循环变量

alien_o = {'color':'green','points':'5','value':'22'}
for i in alien_o:
print(i,alien_o[i])
##遍历所有的键值对
color green
points 5
value 22
alien_o = {'color':'green','points':'5','value':'22'}
for i in alien_o.keys():
print(i)
##遍历字典中所有的键
color
points
value
alien_o = {'color':'green','points':'5','value':'22'}
for i in alien_o.values():
print(i)
##遍历字典中所有的值
green
5
22

字典嵌套

  • 字典列表
alien_0={'color':'green','points':'5'}
alien_1={'color':'yellow','points':'10'}
alien_2={'color':'blue','points':'15'}
alients=[alien_0,alien_1,alien_2]
for i in alients:
print(i)
{'color': 'green', 'points': '5'}
{'color': 'yellow', 'points': '10'}
{'color': 'blue', 'points': '15'}
  • 在字典中存储列表

    在下面的示例中,存储了披萨的两方面信息:外皮包装和配料列表。其中的配料列表是一个与键'stoppings'相关联的值。要访问列表,我们使用字典名和键'stoppings',就像访问字典中的其他值一样。
pizza = {'crust':'thick',
'toppings':['mushing','extra cheese'],
}
print("You ordered a " + pizza['crust'] + "-ceust pizza" + "with the following toppings:")
for topping in pizza['toppings']:
print("\t" + topping)
You ordered a thick-ceust pizzawith the following toppings:
mushing
extra cheese
  • 在字典中存储字典

    在下面的示例中,如果有多个网站用户,每个都有独特的用户名,可在字典中将用户名作为键,然后将每位用户的信息存储在一个字典中,并将该字典作为与用户名相关联的值
users = {
'aeinstein':{
'first':'albert',
'last':'einstein',
'location':'princeton',
}, 'mcurie':{
'first':'marie',
'last':'curie',
'location':'paris',
},
}##两个用户名,'aeinstein'和 'mcurie',然后又将每位用户的信息存储在字典中,并将该字典作为用户名相关联的值
for username,user_info in users.items():
print("\nUsersname: " + username)
full_name = user_info['first'] + user_info['last']
location = user_info['location']
print("\tFull name: " + full_name)
print("\tlocation: " + location)
Usersname: mcurie
Full name: mariecurie
location: paris Usersname: aeinstein
Full name: alberteinstein
location: princeton

字典方法

方法 目的 范例 结果
clear 清空字典内容 d.clear() 返回None,但d此时已经是空的了
get 返回指定键所关联的值;如果指定键不存在,则返回默认值 d.get('x',99) 若d中有‘x’,返回d['x'];否则返回99
keys 以列表的形式返回字典所有的键 如上例 如上例
items 以列表形式返回字典所有的值 如上例 如上例

python编程基础知识—字典的更多相关文章

  1. 第2章 Python编程基础知识 第2.1节 简单的Python数据类型、变量赋值及输入输出

    第三节 简单的Python数据类型.变量赋值及输入输出 Python是一门解释性语言,它的执行依赖于Python提供的执行环境,前面一章介绍了Python环境安装.WINDOWS系列Python编辑和 ...

  2. python编程基础知识—列表(一)

    1 列表 用[]来表示列表,并用逗号分隔其中的元素.如: B=['trek','cannondale','redline','specialized'] print(B) ['trek', 'cann ...

  3. Python编程-基础知识-python项目包和文件的管理以及如何引用相对路径的包和模块

    目录 结构: core |____ __init__.py |____ basic |____ __init__.py |____ database           |____ __init__. ...

  4. 第2章 Python编程基础知识目录

    第2.1节 简单的Python数据类型.变量赋值及输入输出 第2.2节 Python的语句 第2.3节 Python运算符大全 老猿Python,跟老猿学Python! 博客地址:https://bl ...

  5. python编程基础知识—列表(二)

    3操作列表 3.1 遍历整个列表 使用for循环 cars = ['bmw','audi','toyota','Jeep'] for i in cars: print(i) bmw audi toyo ...

  6. Python编程-基础知识-List

    Negative Indexes(负索引) >>> spam = ['cat', 'bat', 'rat', 'elephant'] >>> spam[-1] 'e ...

  7. Python编程-基础知识-条件判断

    1. 简单的if/else条件判断 judge_flow.py name = input("Please input name: ") if name == 'master': p ...

  8. TCP与UDP比较 以及并发编程基础知识

    一.tcp比udp真正可靠地原因 1.为什么tcp比udp传输可靠地原因: 我们知道在传输数据的时候,数据是先存在操作系统的缓存中,然后发送给客户端,在客户端也是要经过客户端的操作系统的,因为这个过程 ...

  9. SHELL脚本编程基础知识

    SHELL脚本编程基础知识 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. Linux之父Linus有一句话很经典:"Talk is cheap, show me the ...

随机推荐

  1. c# Activex开发之HelloWorld

    最近需要在Web上使用WinFrom程序,所以要用到Activex技术将WinFrom程序变成插件在Web运行 一.创建用户控件 1.1 新建用户控件项目 1.2 在界面上拉一个label,Text赋 ...

  2. vijos1057题解

    题目: 永恒の灵魂最近得到了面积为n*m的一大块土地(高兴ING^_^),他想在这块土地上建造一所房子,这个房子必须是正方形的. 但是,这块土地并非十全十美,上面有很多不平坦的地方(也可以叫瑕疵).这 ...

  3. if else 与switch case判断

    基础数据类型(四类八种 ) 不能为null. 整数型 byte 取值范围2的8次方 short 取值范围2的16次方 int 取值范围2的32次方 一般用int long 取值范围2的64次方 浮点型 ...

  4. 微信公众号调用JS-SDK

    坑:先设置js接口安全域名,在公众号设置-功能设置-js接口安全域名中设置 授权登录功能需要在开发者中心页配置授权回调域名 文档:http://mp.weixin.qq.com/wiki/7/aaa1 ...

  5. PHP ORM笔记

    1.ORM是什么? 经常听到程序员的面试中会问到对ORM的了解,但是一直不知道ORM是个什么鬼东西,知道有一天在百度上顺带看到才发现ORM就是我们平时在框架中一直使用的数据库对象操作.ORM(Obje ...

  6. 浅谈Notepad++选中行操作+快捷键+使用技巧【超详解】

    Notepad++选中行操作 快捷键 使用技巧 用Notepad++写代码,要是有一些重复的代码想copy一下,还真不容易,又得动用鼠标,巨烦人.... 有木有简单的方法呢,确实还是有的不过也不算太好 ...

  7. Mac终端查看sqlite3数据库、表数据等

    背景: 我们在用FMDB处理iOS数据库时,沙盒里保存的数据库格式为.sqlite3. 当我们需要在模拟器上调试或查看数据库内容时,我们可以直接在终端里查看到. 正文: 1.在沙盒路径找到需要查看到文 ...

  8. Dubbo Data length too large: 11557050, max payload: 8388608 传输数据超限

    com.alibaba.dubbo.remoting.transport.AbstractCodec.checkPayload() ERROR Data length too large: 11557 ...

  9. java基础,流程控制语句

                                流程控制语句 条件语句:              if语句:                        *if(条件 boolean类型) ...

  10. FZU 2253 salty fish

    https://vjudge.net/problem/FZU-2253 题意:略 思路: 一开始改变区间,还以为是线段树...还是dp的题做得太少了. 这题一开始我们可以统计出一共有多少只翻身的咸鱼, ...