标签:print pytho update nts 重要 指定 支持 结果 更新
字典是另一种可变容器模型,可存储任意类型的对象。
字典的每个键值(key=>value)对用冒号分隔,每个对之间用逗号分隔,整个字典包括在花括号里,格式如下
d = {key1 : value,key2 : value2}
键必须是唯一,但值则不必。
值可以取任何数据类型,但键必须是不可变的,如字符串,数字或元组。
一个简单字典实例:
dict = {‘Alice’: ‘2341’,’Beth’ : ‘9102’,’Cecil’ : ‘3258’}
创建字典:
dict1 = {‘abc’ : 456}
dict2 = {‘abc’ : 123, 98.6 : 37}
访问字典的值
把相应的键放到方括号中:
修改字典:
向字典添加新内容的方法是增加新的键/值对,修改或删除已有的键值:
删除字典元素:
能删单元的元素,也能清空字典,清空只需要一项操作。
显示删除一个字典用del命令。
字典键的 特性
字典值可以是任何python对象,既可以是标准的对象,也可以是用户定义的,但键不行。
两个重要的点需要记住:
1) 不允许同一个键出现两次,创建时如果同一个键被赋值两次,后一个值会被记住。
2) 键必须不可变,所以可以用数字,字符串或元组充当,而用列表就不行。
字典内置函数&方法
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 while write: 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 in students.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 in dic.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 in b.values(): print(i) for c in b.keys(): print(c)
运行结果:
robot@ubuntu:~/wangqinghe/python/20190823$ python3.5 loop.py
runoob
a
b
标签:print pytho update nts 重要 指定 支持 结果 更新
原文地址:https://www.cnblogs.com/wanghao-boke/p/11401938.html