python3 字典_Python3字典

字典是另一种可变容器模型,可存储任意类型的对象。

字典的每个键值(key=>value)对用冒号分隔,每个对之间用逗号分隔,整个字典包括在花括号里,格式如下

d = {key1 : value,key2 : value2}

键必须是唯一,但值则不必。

值可以取任何数据类型,但键必须是不可变的,如字符串,数字或元组。

一个简单字典实例:

dict = {‘Alice’: ‘2341’,’Beth’ : ‘9102’,’Cecil’ : ‘3258’}

创建字典:

dict1 = {‘abc’ : 456}

dict2= {‘abc’ : 123, 98.6 : 37}

访问字典的值

把相应的键放到方括号中:

217e470ecdc9f20bd861113032dfdd94.png

修改字典:

向字典添加新内容的方法是增加新的键/值对,修改或删除已有的键值:

160a9e9dd50f06a25a524f54e0627cac.png

删除字典元素:

能删单元的元素,也能清空字典,清空只需要一项操作。

显示删除一个字典用del命令。

3aae48eff3b2e6a1bca2421a3b4cf73a.png

字典键的 特性

字典值可以是任何python对象,既可以是标准的对象,也可以是用户定义的,但键不行。

两个重要的点需要记住:

1) 不允许同一个键出现两次,创建时如果同一个键被赋值两次,后一个值会被记住。

70b2ea904ec5ae34a6181b36f3d6ce5c.png

2) 键必须不可变,所以可以用数字,字符串或元组充当,而用列表就不行。

de0d66bc828909051b0c0dbe15efdd97.png

字典内置函数&方法

len(dict):计算字典元素的个数,即键的总数。

str(dict):输出字典,以可打印的字符串表示。

d231e418debe7604d5b2f9c2fea7dcc3.png

type(variable):返回可输入的变量类型,如果变量是字典,就返回字典类型。

Python字典包含了以下的内置方法

函数

描述

radiansdict.clear()

删除字典内所有元素

radiansdict.copy()

返回一个字典的浅复制

radiansdict.fromkeys()

创建一个字典,以序列seq中元素做字典的键,val为字典所有键对应的初始值

radiansdict.get(key,default=None)

返回指定键的值,如果值不存在字典值中就返回default值

key in dict

如果键在字典dict里返回true,否则返回false

radiansdict.items()

以列表返回可遍历的(键,值)元组数组

radiansdict.keys()

返回一个迭代器,可以使用list()来转换成列表

radiansdict.setdefault(key,default=None)

和get()相似,但如果键不存在与字典中, 将会添加键并将值设为default

radiansdict.update(dict2)

把字典dict2的键/值更新到dict中

radiansdict.values()

返回一个迭代器可以使用list()来转换成列表

pop(key[default])

删除字典给定键key所对应的值,返回值为被删除的值。key值必须给出,否则,返回default值

popitem()

随机返回并删除字典中一对键和值(一般删除末尾对)

字典的键值是“只读”的,所以不能对键和值分别进行初始化

字典是支持无限嵌套的

用字典记录学生姓名和分数,再分级

/***student.py***/students={}

write= 1

whilewrite:

name= str(input("please input name :"))

grade= int(input("please input grade :"))

students[str(name)]=grade

write= int(input("please input ?\n 1--continue 0--exit"))print('name rate'.center(20,'-'))for key,value instudents.items():if value >= 90:print("%s %s A".center(20,'-')%(key,value))elif 89 > value >= 60:print("%s %s B".center(20,'-')%(key,value))else:print("%s %s C".center(20,'-')%(key,value))

运行结果:

robot@ubuntu:~/wangqinghe/python/20190823$ python3.5 key.py

please input name : wang

please input grade : 12

please input ?

1--continue  0--exit1

please input name : qing

please input grade : 67

please input ?

1--continue  0--exit1

please input name : he

please input grade : 98

please input ?

1--continue  0--exit0

-----name rate------

------qing  67 B ------

------wang 12 C ------

------he 98 A ------

字典可以通过以下方式调换key和value,注意原始value类型是不可变类型:

/***reverse.py***/dic={'a':1,'b':2,'c':3,

}

reverse= {v:k for k,v indic.items()}print(dic)print(reverse)

运行结果:

robot@ubuntu:~/wangqinghe/python/20190823$ python3.5 rever.py

{'a': 1, 'c': 3, 'b': 2}

{1: 'a', 2: 'b', 3: 'c'}

循环显示字典key和value值:

/***show.py***/b= {'a' : 'runoob','b':'google'}for i inb.values():print(i)for c inb.keys():print(c)

运行结果:

robot@ubuntu:~/wangqinghe/python/20190823$ python3.5 loop.py

runoob

google

a

b

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值