python3字典函数 python字典与函数

Python 字典(dic)操作具体函数有 set(),pop(),update(),items() , keys(),values(),get(),setdefault()
python 字典操作
假设字典为 dics = {0:'a', 1:'b', 'c':3}
二是使用dict本身提供的一个 get 方法 , 在Key不存在的时候,返回None:
print dics.get('a')
print dics.get('Paul')
None
dict.get(key,default=None) 两个选项 一个 key 一个 default= None ----default可以是任何strings(字符)
2.从字典中取值 , 若找到则删除;当键不存在时,显示异常key error
[方法]dics.pop('key')
3.给字典添加一个条目 。如果不存在 , 就指定特定的值;若存在,就算了 。
[方法] dic.setdefault(key, value)
4. update
a = {'a':1,'b':2}
a.update({'c':3})
a
{'a': 1,'c': 3,'b': 2}
a.update({'c':4})
a
{'a': 1,'c': 4,'b': 2}
dict的作用是建立一组 key 和一组 value 的映射关系,dict的key是不能重复的 。
有的时候,我们只想要 dict 的 key,不关心 key 对应的 value , 目的就是保证这个集合的元素不会重复,这时,set就派上用场了 。
Python 字典作为函数参数,编写函数实现功能:将一个字典类型数据传递给函数经函数处理后,依次输出键值def exchange(d):
res = dict((v,k) for k,v in d.items())
print(res)
print(d)
一行代码完成交换的,按你的需求定义了一个函数
python3 对象 |字典|json|yaml|字符串 相互转化在研究 k8s python3字典函数的yaml 配置文件python3字典函数的时候,python3字典函数我总担心自己一不小心 会写错 , 所以我向往 使用将对象 序列化 yaml 的形式,
其实pythonobject 可以 直接 转 yaml,甚至也可以直接 转成yaml文件python3字典函数?。。?
这里 会经常用到几个 函数vars()ast.
我们先尝试用最笨的方法 实现object到yaml 的转化
在python对象 convert todict 的形式 , 使用vars()函数
然后dictconvert tojson使用json.dumps(dict)函数
然后 jsonconverte to yaml使用 ya= yaml.load(json.dumps(dict)) 然后
再 yaml.safe_dump(ya,default_flow_style=False)
至此我们看到 从 python Object--- dict ----json--- yaml 的转化
其中 obj dict json yaml转 string ,只要str()函数即可,或者 str(vars())结合
yaml 格式 写入到文件,需要注意的是 ,  open()函数 的mode 一定要是'w',不能是’wb', b代表是二进制写入
yaml 写入的是dict str,使用 ‘wb' 会报错,[yaml TypeError: a bytes-like object is required, not 'str']
【出现该错误往往是通过open()函数打开文本文件时,使用了‘rb’属性,如python3字典函数:fileHandle=open(filename,'rb'),则此时是通过二进制方式打开文件的,所以在后面处理时如果使用了str()函数,就会出现该错误,该错误不会再python2中出现 。
具体解决方法有以下两种:
第一种,在open()函数中使用‘r’属性,即文本方式读取,而不是‘rb’,以二进制文件方式读取,可以直接解决问题 。
第二种,在open()函数中使用‘rb’,可以在使用之前进行转换,有以下实例,来自:】
其实pythonobject 可以 直接 转 yaml,甚至也可以直接 转成yaml文件?。。?
比如我已经定义了一个 Dog python class,他有 好几个属性 并已经赋值初始化了
另外生成 yaml 对象
生成yaml文件
结果是
反过来 yaml ---- json --- 持久化json 文件indent=1属性是为了让 json 不以单行展示,而是展开
注意的是python 的 dict 和set 很相似 ,都是 { } , set 里是list,dict 是键值对
【#set object is not JSON serializable [duplicate]

推荐阅读